English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
고차 함수(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]