Scala允許定義高階函式。它是將其他函式作為引數或其結果是函式的函式。
嘗試以下範例程式,apply()
函式接受另一個函式f
和值v
,並將函式f
應用於v
。
範例
object Demo {
def main(args: Array[String]) {
println( apply( layout, 10) )
}
def apply(f: Int => String, v: Int) = f(v)
def layout[A](x: A) = "[" + x.toString() + "]"
}
將上述程式儲存在原始檔:Demo.scala中,使用以下命令編譯和執行此程式。
$ scalac Demo.scala
$ scala Demo
[10]