LISP - Parâmetros de palavra-chave

Os parâmetros de palavra-chave permitem que você especifique quais valores correspondem a determinado parâmetro.

É indicado usando o &key símbolo.

Ao enviar os valores para a função, você deve preceder os valores com :parameter-name.

O exemplo a seguir ilustra o conceito.

Exemplo

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

(defun show-members (&key a b c d ) (write (list a b c d)))
(show-members :a 1 :c 2 :d 3)
(terpri)
(show-members :a 'p :b 'q :c 'r :d 's)
(terpri)
(show-members :a 'p :d 'q)
(terpri)
(show-members :a 1 :b 2)

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

(1 NIL 2 3)
(P Q R S)
(P NIL NIL Q)
(1 2 NIL NIL)