8-6 部分应用的函数
说明
①函数a根据函数sum而定义,其中第1个和第3个参数已经确定,所以调用函数a时,只需传递第2个参数,即只需要传一个参数即可。所以说函数a是对函数sum的部分应用,只在函数sum中传入了1和3,即只应用了部分参数,剩下一个参数待定。函数a被称为部分应用的函数(partially applied function)
②函数b没有应用任何入参,函数c是对函数b的简写。
def main(args: Array[String]): Unit = { def sum(a: Int, b: Int, c: Int) = a + b + c val a = sum(1, _: Int, 3) println(a(55)) //59 val b = sum(_: Int, _: Int, _: Int) println(b(1, 2, 3)) //6 val c = sum _ println(c(4, 5, 6)) //15 }