Функции высшего порядка
Функция высшего порядка (HOF) - это функция, которая удовлетворяет хотя бы одному из следующих условий:
- Принимает несколько функций в качестве аргумента
- Возвращает функцию как результат
HOF в PHP
В следующем примере показано, как написать функцию более высокого порядка на PHP, который является объектно-ориентированным языком программирования.
<?php
$twice = function($f, $v) {
return $f($f($v));
};
$f = function($v) {
return $v + 3;
};
echo($twice($f, 7));
Он выдаст следующий результат -
13
HOF в Python
В следующем примере показано, как написать функцию более высокого порядка на Python, который является объектно-ориентированным языком программирования.
def twice(function):
return lambda x: function(function(x))
def f(x):
return x + 3
g = twice(f)
print g(7)
Он выдаст следующий результат -
13