Ahora veremos que también podemos implementar funciones que reciban como parámetro otra función.
Primero veamos un simple ejemplo para entender que una función se la podemos asignar a una variable y luego a través de esta variable llamar a la función:
Vemos que definimos una variable llamada f1 y le asignamos la función propiamente dicha:
Luego para llamar la función lo hacemos a través de la variable f1:
De la misma manera podemos definir una segunda variable que obtenga la referencia de la otra variable y podremos entonces llamar a la misma función con este segundo nombre:
Ahora si implementaremos otro problema que declare una función que reciba tres parámetros, el último de ellos es una función:
Es importante entender la sintaxis que presentamos en este problema elemental para entender que una función puede recibir como parámetros una función y luego llamarla desde dentro.
Primero analicemos como llamamos a la función calcular:
A la función calcular le pasamos dos enteros:10 y 5, y una función que definimos en el mismo parámetro:
La función calcular recibe los tres parámetros y sabiendo que el tercer parámetro llega la referencia a la función procedemos a llamarla enviando los dos parámetros requeridos:
Como vemos podemos llamar nuevamente a la función calcular pero pasando otra función:
Podemos en vez de definir funciones anónimas cuando llamamos a calcular pasar el nombre de funciones declaradas:
Podemos observar que definimos las funciones sumar y restar:
Y cuando llamamos a calcular en el tercer parámetro indicamos el nombre de la función a enviarle: