Percursos
/
Common Lisp
Common Lisp
/
Programa
/
Parâmetros de palavra-chave
Pa

Parâmetros de palavra-chave em Common Lisp

1 exercício

Sobre Parâmetros de palavra-chave

Em Common Lisp, os parâmetros nomeados chamam-se parâmetros de palavra-chave.

Os parâmetros de palavra-chave são designados pela palavra-chave de lista lambda &key numa lista lambda. Os parâmetros de palavra-chave não são obrigatórios, podem ter um valor predefinido e também podem especificar um "parâmetro supplied-p" que será "verdadeiro" ou "falso" consoante tenha sido fornecido um argumento 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 predefinição, uma versão do nome do parâmetro como símbolo de palavra-chave (ou seja, o parâmetro de palavra-chave name tem o 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), isto pode ser problemático e deve ser feito com cuidado. Consulta a secção "Misturar diferentes tipos de parâmetros" em Practical Common Lisp.

Editar via GitHub A ligação abre numa nova janela ou separador

Aprende Parâmetros de palavra-chave