English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Função de Ordem Superior(Higher-Função de Ordem Superior)é uma função que opera outras funções.
No Scala, é permitido usar funções de ordem superior, que podem usar outras funções como parâmetros ou usar funções como resultados de saída.
Neste exemplo, a função apply() usa outra função f e o valor v como parâmetros, e a função f novamente chama o parâmetro v:
object Test { def main(args: Array[String]) { println( apply( layout, 10) ) } // A função f e o valor v são passados como parâmetros, e a função f novamente chama o parâmetro v def apply(f: Int => String, v: Int) = f(v) def layout[A](x: A) = "[" + x.toString() + "]" }
Execute o código acima e o resultado será:
$ scalac Test.scala $ scala Test [10]