LISP - Fonctions Lambda

Parfois, vous pouvez avoir besoin d'une fonction à un seul endroit de votre programme et la fonction est si triviale que vous ne pouvez pas lui donner un nom, ou peut ne pas aimer la stocker dans la table des symboles, et préférez écrire une fonction sans nom ou anonyme .

LISP vous permet d'écrire des fonctions anonymes qui ne sont évaluées que lorsqu'elles sont rencontrées dans le programme. Ces fonctions sont appeléesLambda functions.

Vous pouvez créer de telles fonctions à l'aide du lambdaexpression. La syntaxe de l'expression lambda est la suivante -

(lambda (parameters) body)

Un formulaire lambda ne peut pas être évalué et doit apparaître uniquement là où LISP s'attend à trouver une fonction.

Exemple

Créez un nouveau fichier de code source nommé main.lisp et tapez le code suivant dedans.

(write ((lambda (a b c x)
   (+ (* a (* x x)) (* b x) c))
   4 2 9 3)
)

Lorsque vous exécutez le code, il renvoie le résultat suivant -

51