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

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