Uma função de ordem superior (HOF) é uma função que segue pelo menos uma das seguintes condições -
- Assume ou mais funções como argumento
- Retorna uma função como resultado
HOF em PHP
O exemplo a seguir mostra como escrever uma função de ordem superior em PHP, que é uma linguagem de programação orientada a objetos -
<?php
$twice = function($f, $v) {
return $f($f($v));
};
$f = function($v) {
return $v + 3;
};
echo($twice($f, 7));
Ele produzirá a seguinte saída -
13
HOF em Python
O exemplo a seguir mostra como escrever uma função de ordem superior em Python, que é uma linguagem de programação orientada a objetos -
def twice(function):
return lambda x: function(function(x))
def f(x):
return x + 3
g = twice(f)
print g(7)
Ele produzirá a seguinte saída -
13