Funkcje wyższego rzędu
Funkcja wyższego rzędu (HOF) to funkcja spełniająca co najmniej jeden z następujących warunków -
- Przyjmuje lub więcej funkcji jako argument
- Zwraca funkcję jako wynik
HOF w PHP
Poniższy przykład pokazuje, jak napisać funkcję wyższego rzędu w PHP, który jest językiem programowania obiektowego -
<?php
$twice = function($f, $v) {
return $f($f($v));
};
$f = function($v) {
return $v + 3;
};
echo($twice($f, 7));
Wytworzy następujący wynik -
13
HOF w Pythonie
Poniższy przykład pokazuje, jak napisać funkcję wyższego rzędu w Pythonie, który jest językiem programowania obiektowego -
def twice(function):
return lambda x: function(function(x))
def f(x):
return x + 3
g = twice(f)
print g(7)
Wytworzy następujący wynik -
13