Importancia de las funciones de orden superior
Con respecto a las funciones de orden superior, algunos puntos clave incluyen:
Ejemplo 1: Uso de una función para tomar otra función como argumento
Consideremos el primer ejemplo de una función de orden superior. Pasamos la función en una función dada como parámetro.
Aquí, el objeto se designa como "myobject". Luego, dentro de la definición principal del objeto, llamamos a una función "func". La función "func" toma el valor numérico y la función "multiplicybythree" como entrada. Nuevamente invocamos la función "func" para imprimir el valor de "x" que se pasa como una entrada dentro de la "F". Por último, establecemos la operación "X*3" en la función "MultiplybyThree".
A medida que pasamos la función "multiplicybythree" dentro de la otra función "func", la función "func" genera el resultado de la función "multiplybythree" de la siguiente manera:
Ejemplo 2: Uso de la función anónima como lambda
Una función anónima no tiene un nombre pero realiza la misma función. Cuando no tiene la intención de repetir una función más tarde, crear una versión anónima es una buena idea. En Scala, los operadores de comodines "=>" Rocket y "_" Subsbore se pueden usar para generar funciones anónimas.
Aquí hay uno para ilustrar:
Dentro del método principal del objeto "myDemo", creamos dos variables. Las variables se declaran como "res1" y "res2". La variable "Res1" se inicializa con la función anónima utilizando el operador "=>". La función anónima se establece con los parámetros X e Y y en el lado derecho del operador "=>" del cohete establecemos la ecuación "x+y". Después de eso, tenemos otra función anónima que se emplea con el comodín "_". Dentro del método println, llamamos al "res1" y "res2" respectivamente y les asignamos dos valores.
Los resultados para ambas funciones anónimas se generan de la siguiente manera:
Ejemplo 3: Uso de la expresión multilínea
El término "expresión multilínea" se refiere a las expresiones que abarcan muchas líneas. Al utilizar las expresiones multilíneas en Scala, use precaución. Para evitar problemas con respecto a la expresión multilínea, puede usar los siguientes métodos:
El objeto "mytest" tiene la definición de tres funciones. La primera función se define como "Sum1" que toma los parámetros "I" y "J". Los valores de entrada "I" y "J" se establecen como "I+J" dentro del bloque de la función "Sum1". A continuación, tenemos otra función como "Sum2" que también toma los valores de entrada y también establece la operación "I+J". Después de eso, definimos el método principal donde se declaran dos variables "resultado1" y "resultado2". Estas variables se denominan funciones "Sum1" y "Sum2" para aprobar los valores contra "I" y "J".
La salida obtenida por ambas funciones "Sum1" y "Sum2" tienen los mismos resultados.
Ejemplo 4: Uso de una función que lleva
Un método en Scala puede tener numerosas listas de parámetros. Una función que acepta las listas de argumentos faltantes como argumentos se produce cuando se llama a una función con menos listas de parámetros de lo que requiere. En otras palabras, es un método para cambiar una función que acepta varios parámetros en uno que solo acepta uno.
Aquí, creamos una función "agregar" que toma dos argumentos por separado. La "P" es el primer argumento y "Q" es el segundo argumento. Luego, declaramos una variable "resultado1" en el método principal. La variable "result1" se llama función "Agregar" y establece los valores para "P" y "Q". Además, pasamos el argumento único para la función "Agregar" que se llama en la variable "addValues". AddValues también toma los valores de argumento de un número.
Los resultados del código anterior al compilar son los siguientes:
Ejemplo 5: Uso de una función anidada
Siendo un lenguaje de función de primera clase, Scala le permite pasar las funciones, devolver las funciones, componer las funciones, usar las funciones anidadas y más. La definición y el llamado de las funciones anidadas se demuestran en el siguiente ejemplo:
Dentro de la función "Sub1", definimos otra función "Sub2" que evalúa la diferencia entre "A-B". Fuera de la función Sub2, llamamos al "Sub2" que toma el valor del argumento "X" y el "Sub2 (Y, Z)". A continuación, declaramos un "resultado" variable que se denomina función Sub1 y pasó el valor numérico para ser evaluado para una operación diferente.
El siguiente es el resultado de operación diferente generado por el código anterior:
Ejemplo 6: Uso de una función con parámetros de longitud variable
Puede definir las funciones con parámetros de longitud variable en Scala. Se puede aprobar cualquier cantidad de argumentos al llamar a la función.
A la función "agregar", establecemos la variable "mysum" que inicialmente es cero. Luego, tenemos para el bucle que itera sobre los números y los incrementos por el mysum. Dentro de la principal, llamamos a la función Agregar y le pasamos los valores numéricos.
La longitud de la variable "mysum" se imprime en la pantalla.
Conclusión
Descubrimos en el artículo mencionado anteriormente que usar las funciones de orden superior en Scala puede hacer que la base de código sea simple y fácil de comprender para las operaciones. Las funciones de orden superior son aquellas que aceptan o devuelven las entradas de otras funciones. También examinamos los ejemplos que demuestran las diversas aplicaciones para estas funciones de orden superior. Además, aprendimos a entregar las funciones anónimas como funciones de alto orden.