Looking for scala Answers? Try Ask4KnowledgeBase
Looking for scala Keywords? Try Ask4Keywords

Scala LanguageFunción de orden superior


Observaciones

Scala hace todo lo posible para tratar los métodos y las funciones como sintácticamente idénticos. Pero bajo el capó, son conceptos distintos.

Un método es un código ejecutable y no tiene representación de valor.

Una función es una instancia de objeto real de tipo Function1 (o un tipo similar de otra aridad). Su código está contenido en su método de apply . Efectivamente, simplemente actúa como un valor que puede transmitirse.

Por cierto, la capacidad de tratar las funciones como valores es exactamente lo que se entiende por un lenguaje que tiene soporte para funciones de orden superior. Las instancias de funciones son el enfoque de Scala para implementar esta característica.

Una función de orden superior real es una función que toma un valor de función como argumento o devuelve un valor de función. Pero en Scala, como todas las operaciones son métodos, es más general pensar en métodos que reciben o devuelven parámetros de función. Entonces, el map , tal como se define en Seq podría considerarse como una "función de orden superior" debido a que su parámetro es una función, pero no es literalmente una función; es un metodo

Función de orden superior Ejemplos relacionados