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