Una función de orden superior (HOF) es una función que sigue al menos una de las siguientes condiciones:
- Asume o más funciones como argumento
- Devuelve una función como resultado.
HOF en PHP
El siguiente ejemplo muestra cómo escribir una función de orden superior en PHP, que es un lenguaje de programación orientado a objetos:
<?php
$twice = function($f, $v) {
return $f($f($v));
};
$f = function($v) {
return $v + 3;
};
echo($twice($f, 7));
Producirá la siguiente salida:
13
HOF en Python
El siguiente ejemplo muestra cómo escribir una función de orden superior en Python, que es un lenguaje de programación orientado a objetos:
def twice(function):
return lambda x: function(function(x))
def f(x):
return x + 3
g = twice(f)
print g(7)
Producirá la siguiente salida:
13