LISP - Funções Lambda

Às vezes você pode precisar de uma função em apenas um lugar em seu programa e a função é tão trivial que você pode não dar um nome a ela, ou pode não gostar de armazená-la na tabela de símbolos, e prefere escrever uma função sem nome ou anônima .

O LISP permite que você escreva funções anônimas que são avaliadas apenas quando são encontradas no programa. Essas funções são chamadasLambda functions.

Você pode criar tais funções usando o lambdaexpressão. A sintaxe para a expressão lambda é a seguinte -

(lambda (parameters) body)

Uma forma lambda não pode ser avaliada e deve aparecer apenas onde o LISP espera encontrar uma função.

Exemplo

Crie um novo arquivo de código-fonte denominado main.lisp e digite o seguinte código nele.

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

Quando você executa o código, ele retorna o seguinte resultado -

51