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)