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