Les fermetures, les lambdas et les fonctions anonymes ne sont pas nécessairement identiques.
Une fonction anonyme est une fonction qui n'a pas (ou, du moins, qui n'a pas besoin) de nom propre.
Une fermeture est une fonction qui peut accéder aux variables qui se trouvaient dans sa portée lexicale lorsqu'elle a été déclarée, même après qu'elles sont tombées en désuétude. sortir du champ d'application. Les fonctions anonymes ne doivent pas nécessairement être des fermetures, mais elles le sont dans la plupart des langages et deviennent moins utiles lorsqu'elles ne le sont pas.
Un lambda n'est pas aussi bien défini en informatique. De nombreux langages n'utilisent même pas le terme ; ils se contentent de les appeler closures ou fonctions anon ou inventent leur propre terminologie. En LISP, une lambda est simplement une fonction anonyme. En Python, une lambda est une fonction anonyme spécifiquement limitée à une seule expression ; au-delà, vous avez besoin d'une fonction nommée. Les lambdas sont des fermetures dans les deux langages.
1 votes
Pourquoi pas Article de Wikipédia sur le lambda calcul pour commencer ? Dans ce cas, il s'agit de Article de Wikipédia sur la programmation fonctionnelle en guise de suivi.
2 votes
Duplication possible de Qu'est-ce qu'une fonction lambda ?
0 votes
L'expression amda expliquée aquí magnifiquement.