LISP - Funzioni Lambda
A volte potresti aver bisogno di una funzione in un solo punto del programma e la funzione è così banale che potresti non darle un nome, o potresti non volerla memorizzare nella tabella dei simboli, e preferiresti scrivere una funzione senza nome o anonima .
LISP consente di scrivere funzioni anonime che vengono valutate solo quando si incontrano nel programma. Queste funzioni vengono chiamateLambda functions.
È possibile creare tali funzioni utilizzando il lambdaespressione. La sintassi per l'espressione lambda è la seguente:
(lambda (parameters) body)
Un form lambda non può essere valutato e deve apparire solo dove LISP si aspetta di trovare una funzione.
Esempio
Crea un nuovo file di codice sorgente denominato main.lisp e digita il codice seguente.
(write ((lambda (a b c x)
(+ (* a (* x x)) (* b x) c))
4 2 9 3)
)
Quando esegui il codice, restituisce il seguente risultato:
51