Fonctions d'ordre supérieur

Une fonction d'ordre supérieur (HOF) est une fonction qui suit au moins l'une des conditions suivantes -

  • Prend une ou plusieurs fonctions comme argument
  • Renvoie une fonction comme résultat

HOF en PHP

L'exemple suivant montre comment écrire une fonction d'ordre supérieur en PHP, qui est un langage de programmation orienté objet -

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

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

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

Il produira la sortie suivante -

13

HOF en Python

L'exemple suivant montre comment écrire une fonction d'ordre supérieur en Python, qui est un langage de programmation orienté objet -

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

Il produira la sortie suivante -

13