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
}

  

posted @ 2020-11-22 16:06  地中有山  阅读(114)  评论(0编辑  收藏  举报