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 함수