Funzioni di ordine superiore

Una funzione di ordine superiore (HOF) è una funzione che segue almeno una delle seguenti condizioni:

  • Assume o più funzioni come argomento
  • Restituisce una funzione come risultato

HOF in PHP

L'esempio seguente mostra come scrivere una funzione di ordine superiore in PHP, che è un linguaggio di programmazione orientato agli oggetti -

<?php  
$twice = function($f, $v) { 
   return $f($f($v)); 
};  

$f = function($v) { 
   return $v + 3; 
}; 

echo($twice($f, 7));

Produrrà il seguente output:

13

HOF in Python

L'esempio seguente mostra come scrivere una funzione di ordine superiore in Python, che è un linguaggio di programmazione orientato agli oggetti -

def twice(function): 
   return lambda x: function(function(x))  
def f(x): 
   return x + 3 
g = twice(f)
print g(7)

Produrrà il seguente output:

13