Scala 高階函數(shù)

Scala 函數(shù) Scala 函數(shù)

高階函數(shù)(Higher-Order Function)就是操作其他函數(shù)的函數(shù)。

Scala 中允許使用高階函數(shù), 高階函數(shù)可以使用其他函數(shù)作為參數(shù),或者使用函數(shù)作為輸出結(jié)果。

以下實(shí)例中,apply() 函數(shù)使用了另外一個函數(shù) f 和 值 v 作為參數(shù),而函數(shù) f 又調(diào)用了參數(shù) v:

object Test {
   def main(args: Array[String]) {

      println( apply( layout, 10) )

   }
   // 函數(shù) f 和 值 v 作為參數(shù),而函數(shù) f 又調(diào)用了參數(shù) v
   def apply(f: Int => String, v: Int) = f(v)

   def layout[A](x: A) = "[" + x.toString() + "]"
   
}

執(zhí)行以上代碼,輸出結(jié)果為:

$ scalac Test.scala
$ scala Test
[10]

Scala 函數(shù) Scala 函數(shù)