Scala-higher-order-functions
提供:Dev Guides
Scala-高階関数
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]