Функция высшего порядка (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)
Это даст следующий результат —