English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Scala 高階関数

Scala 関数

高階関数(Higher-Order Function)は他の関数を操作する関数です。

Scala では高階関数の使用が許可されており、高階関数は他の関数を引数として使用したり、関数を結果として使用することができます。

以下の例では、apply() 関数が別の関数 f と値 v を引数として使用し、関数 f が引数 v を呼び出す:

object Test {
   def main(args: Array[String]) {
      println( apply( layout, 10) )
   }
   // 関数 f と値 v が引数として、関数 f が引数 v を呼び出す
   def apply(f: Int => String, v: Int) = f(v)
   def layout[A](x: A) = "[" + x.toString() + "]"
}

以下のコードを実行すると、出力結果が:

$ scalac Test.scala
$ scala Test
[10]

Scala 関数