您的位置:首页 > 其它

scala------高阶函数

2016-02-22 08:53 176 查看
1. 匿名函数
    Array(1, 2, 3).map((x: Int) => 3*x) 中 (x: Int) => 3*x
为匿名函数
2. 以函数作为参数的函数

class Test1 {
    def t1(f1: (Int) => Int, f2: (Int) => Int, x: Int, y:Int) = {
        f1(x) + f2(y)
    }
}
object Test {
    def main(args: Array[String]): Unit = {
       val t = new Test1()
       val f1 = (x: Int) => x
       val f2 = (y: Int) => y
       println(t.t1(f1, f2, 1, 2))
    }
}

3. 闭包:
    代码和代码用到的任何非局部变量构成
4. 柯里化:
    原本接受两个参数的的函数编程接受一个参数的函数
    def t1 (x : Int) = (y: Int) => x*y
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: