Fonction anonyme

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 23 août 2019 à 15:57 et modifiée en dernier par 205.237.9.219 (discuter). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

Une fonction anonyme, permise dans certains langages de programmation, est une fonction n'ayant pas de nom.

Parce que ces fonctions n'ont pas de nom, à l'endroit où l'on voudrait mettre leur nom, on trouve directement les instructions définissant la fonction introduites par une syntaxe particulière.

Dans les langages de programmation fonctionnelle, les fonctions anonymes sont souvent appelées fonctions lambda, en référence au lambda-calcul, outil théorique dans lequel on programme tout sous forme d'appel de fonction, alors même qu'aucune fonction de base n'est définie.


Certains langages ne permettent pas d'écrire des fonctions anonymes.

Exemples

En OCaml, la fonction anonyme suivante renvoie le carré de la somme de ses arguments

let carre_de_somme a b = (function x -> x * x) (a + b) ;;

La fonction anonyme (function x -> x * x) calcule le carré de son argument. On peut rendre la chose explicite en nommant la fonction de la façon suivante :

let carre x = x * x ;;
let carre_de_somme a b = carre (a + b) ;;

En Haskell, la fonction anonyme suivante renvoie le nombre passé en argument multiplié par 2 : (\x -> 2*x).