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]