Функции высшего порядка

Функция высшего порядка (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