Top Qs
Chronologie
Chat
Contexte

Fonction anonyme

type de fonction en programmation informatique De Wikipédia, l'encyclopédie libre

Remove ads

En programmation informatique, une fonction anonyme, aussi appelée lambda expression ou fonction lambda est une fonction n'ayant pas de nom. Les fonctions anonymes existent dans certains langages de programmation comme Python, JavaScript, OCaml ou C++[1]. Certains langages, comme le C et Pascal (tout au moins les versions standards de ces langages), ne permettent pas d'écrire des fonctions anonymes.

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.

Remove ads

Étymologie

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.

Exemples

Résumé
Contexte

JavaScript

En JavaScript, la fonction suivante renvoie le carré de son argument :

const carré = (x) => x * x;
console.log(carré(3)); // 9

La fonction anonyme suivante renvoie la somme des carrés de ses arguments (dont le nombre est indéfini) :

const sommeDesCarrés = (...args) => args.reduce((accumulateur, x) => accumulateur + (x * x), 0);
console.log(sommeDesCarrés());  // 0
console.log(sommeDesCarrés(2)); // 4
console.log(sommeDesCarrés(2, 3)); // 13

Python

En Python, la fonction suivante renvoie le carré de son (unique) argument :

carré = lambda x: x * x
print(carré(3))  # 9

La fonction anonyme suivante renvoie la somme des carrés de ses arguments (dont le nombre est indéfini) :

somme_des_carrés = lambda *args: sum(x * x for x in args)
print(somme_des_carrés())   # 0
print(somme_des_carrés(2))  # 4
print(somme_des_carrés(2, 3))  # 13

OCaml

En OCaml, la fonction suivante renvoie le carré de son (unique) argument :

let carre x = x * x ;;
print_int (carre 3) ;; (* 9 *)

Haskell

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

Rust

En Rust, la fonction suivante renvoie le carré de son argument :

let carré = |x| x * x;
println!("{}", carré(3)); // 9
Remove ads

Notes et références

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads