Parcours
/
Common Lisp
Common Lisp
/
Programme
/
Paramètres de mot-clé
Pa

Paramètres de mot-clé en Common Lisp

1 exercice

À propos de Paramètres de mot-clé

En Common Lisp, les paramètres nommés s'appellent des paramètres de mot-clé.

Les paramètres de mot-clé sont désignés par le mot-clé de liste lambda &key dans une liste lambda. Les paramètres de mot-clé ne sont pas obligatoires, peuvent avoir une valeur par défaut et peuvent aussi spécifier un « paramètre supplied-p » qui sera « vrai » ou « faux » selon qu'un argument a été fourni ou non pour le paramètre.

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

Dans les arguments d'une fonction, les paramètres de mot-clé sont spécifiés par leur « nom de mot-clé », qui est, par défaut, une version en symbole de mot-clé du nom du paramètre (c'est-à-dire que le paramètre de mot-clé name a pour nom de mot-clé :name). Il est possible de spécifier un autre nom pour le paramètre de mot-clé en utilisant une liste contenant le nom de mot-clé et le nom du paramètre plutôt que le seul nom du paramètre :

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

Bien que plusieurs types de paramètres puissent être combinés avec d'autres types de paramètres (paramètres optionnels et paramètres de mot-clé), cela peut poser problème et doit être fait avec prudence. Voir la section « Mélanger différents types de paramètres » dans Practical Common Lisp.

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet

Apprends Paramètres de mot-clé