Trilhas
/
Common Lisp
Common Lisp
/
Programa
/
Parâmetros keyword
Pa

Parâmetros keyword em Common Lisp

1 exercício

Sobre Parâmetros keyword

Em Common Lisp, parâmetros nomeados são chamados de parâmetros de palavra-chave.

Os parâmetros de palavra-chave são designados pela palavra-chave &key em uma lista lambda. Os parâmetros de palavra-chave não são obrigatórios, podem ter um valor padrão e também podem especificar um "parâmetro supplied-p" que será "verdadeiro" ou "falso" dependendo de um argumento ter sido fornecido para o parâmetro.

(defun keyword-parameter (&key (arg -1) arg)
(keyword-parameter)         ; => -1
(keyword-parameter :arg 13) ; => 13

Nos argumentos de uma função, os parâmetros de palavra-chave são especificados pelo seu "nome de palavra-chave" que é, por padrão, uma versão de símbolo de palavra-chave do nome do parâmetro (ou seja, o parâmetro de palavra-chave name tem um nome de palavra-chave :name). É possível especificar outro nome para o parâmetro de palavra-chave usando uma lista com o nome de palavra-chave e o nome do parâmetro em vez de apenas o nome do parâmetro:

(defun other-keyword-name (&key ((other-name arg))) (list arg))
(other-keyword-name 'other-name 5) ; => (5)

Embora vários tipos de parâmetros possam ser combinados com outros tipos de parâmetros (parâmetros opcionais e de palavra-chave), isso pode ser problemático e deve ser feito com cuidado. Veja a seção "Misturando diferentes tipos de parâmetros" em Practical Common Lisp.

Editar via GitHub O link abre em uma nova janela ou aba

Aprenda Parâmetros keyword