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]