首页 > 代码库 > scala --高阶函数
scala --高阶函数
scala 混合了面向对象和函数式的特征。 在函数式的编程语言中,函数是可以像其他的数据类型一样被传递和操作。这对于想将详细动作传入给算法时变得非常有用。
import scala.math._ val fun = ceil _ /从技术上将 _的作用是将ceil方法变成了函数 res = fun(num) / num = 3.14 , res = 4 Array(3.14, 1.42, 2.0).map(fun) / Array(4.0, 2.0, 2.0)
map方法接受一个函数参数, 将他应用到数组中的所有值, 然后返回结果的数组。
创建匿名函数
(x: Double) => 3 * x Array(3.14, 1.42, 2.0).map((x :Double) => 3 * x) //Array(9.42, 4.26, 6.0)
带函数参数的函数
def valueAtOneQuarter(f: (Double) => Double) = f(0.5) valueAtOnequarter(ceil _) // 1.0 valueAtOneQuarter(sqrt _) // 0.5 (0.5 * 0.5 = 0.25 )
返回一个函数的高阶函数
def mulBy(factor: Double) = (x: Double) => factor * x mulBy(3) / (x: Double) => 3 * x
资料来源于快学scala 个人笔记
scala --高阶函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。