Scala-higher-order-functions

提供:Dev Guides
2020年6月23日 (火) 06:56時点におけるMaintenance script (トーク | 投稿記録)による版 (Imported from text file)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先:案内検索

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]