scala高阶函数
来源:互联网 发布:怎么进入服务器数据库 编辑:程序博客网 时间:2024/04/29 12:10
1.scala中,接受函数参数,或者是返回函数的函数,被称为高阶函数。
1.1接受函数作为参数的示例:
object test{ def main(args: Array[String]){ def valueAtOneQuarter(f:(Double)=>Double)=f(0.25) //该函数类型为:(Double=>Double)=>Dobule def function1(x:Double):Double =3*x println(valueAtOneQuarter(function1)) }}
输出结果为:0.75
1.2返回函数的函数示例:
object test{ def main(args: Array[String]){ def mulBy(factor:Double)=(x:Double)=>factor*x val quintuple=mulBy(5) println(quintuple(3)) }}
输出结果为:15.0
1.3函数类型推断
前面有定义高阶函数 def valueAtOneQuarter(f: (Double) => Double) = f(0.25),因为已知参数的类型,所以Scala会尽可能推断出类型,在传入参数时,可以省掉一些内容。
valueAtOneQuarter((x:Double)=>3*x)//完整写法valueAtOneQuarter((x)=>3*x)//已知参数类型,可以省略DoublevalueAtOneQuarter(x=>3*x)//只有一个参数时,可以省去()valueAtOneQuarter(3*_)//参数只在右侧出现一次,可以用_替换
0 0
- Scala高阶函数
- Scala 高阶函数
- scala------高阶函数
- Scala高阶函数
- scala高阶函数
- scala高阶函数
- scala-高阶函数
- Scala高阶函数
- Scala 高阶函数
- scala高阶函数
- Scala高阶函数
- Scala高阶函数
- Scala-高阶函数
- scala入门-09 scala高阶函数
- Scala中的高阶函数
- scala的高阶函数
- Scala之高阶函数
- Scala之高阶函数
- 演示TreeSet
- ASP.NET三种开发模式
- Spring中applicationContext.xml的bean里的id和name属性区别
- cocos2d-js打包APK出现的问题
- scala筑基篇-01-List操作
- scala高阶函数
- 0 1 0 * * ?
- codeforces 370 Div2
- 企业库的基本应用
- Eclipse中如何生成代码帮助文档
- mysql主从配置
- 通过使用VSRS3.5+opencv2.4.9进行深度图和彩色图的虚拟视点绘制
- 反射
- Dim Sum