scala学习(十八)——高阶函数
2016-12-28 16:14
337 查看
scala学习(十八)——高阶函数
下面是scala中高阶函数的例子,注释中说的很清楚:import scala.math._ object main{ def main(args:Array[String]){ //apply和unapply var x = Array("1","2","3") var y = Array.unapplySeq(x) //高阶函数 //将函数定义为变量 var a = 3.14 var f = ceil _ println(f(a)) println("==========") var temparray = Array(1.1,2.2,3.3) var tempmaparray = temparray.map(f) for(i <- tempmaparray){ println(i) } println("==========") //匿名函数 //这里的匿名函数 (x : Double) => {x + 1} 可以简化成 x=>x +1 ,因为参数只有一个,函数体中也只有一条数据 //如果只出现一次,也可这样 _+1 for(k <- Array(1.1,2.2,3.4).map((x:Double) => x +1)){ println(k) } println("==========") var fun = (x : Int) => {println(x)} var ccarray = Array(1,2,3,4,5) ccarray.map(fun) //map操作之后原来的数组不变 println("==========") for(j <- ccarray){ println(j) } println("==========") //函数当做函数的参数 //高阶函数 函数的参数也是函数的函数叫做高阶函数 //定义函数的方式var ff = (a:Int,b:Int) =>{a + b} //func的第一个参数是函数,函数当做参数的时候不需要写参数的名称,就是不能这样写subfunc:(a:Int)=>{a *2},应该写一个函数的骨架 def func(subfunc:(Int)=>Int,a:Int):Int = {subfunc(a)} //定义一个函数的具体实现 var impsubfunc = (x:Int) => { x * 3} var re = func(impsubfunc,12) println(re) } }
运行结果:
相关文章推荐
- scala 学习笔记 --高阶函数
- Scala学习——高阶函数
- scala学习笔记:高阶函数
- Scala2.11.7学习笔记(八)高阶函数
- 快学Scala学习笔记及习题解答(12-14高阶函数、集合、模式匹配和样例类)
- scala 学习(十八)——match
- scala学习笔记-高阶函数
- 【转】Scala学习——高阶函数
- Scala学习——高阶函数
- Scala 学习笔记(六)------定义高阶函数
- scala学习笔记13 高阶函数
- [Scala]Scala学习笔记八 高阶函数
- scala学习笔记:高阶函数
- scala学习笔记--高阶函数
- Scala学习之高阶函数
- scala高阶函数学习
- Scala学习札记_一 筹建开发环境(Intellij IDEA + scala插件)
- Scala学习(三)函数式对象
- WPF and Silverlight 学习笔记(十八):WPF样式(Style)与模板(Template)
- 菜鸟学习OGRE和天龙八部之十八: 获得档案(Archive)文件列表