Q: Comment crée-t-on et utilise- :keywords
t-on?
Envisagez une tentative (naïve, apparemment) d'accéder à la liste de jouets suivante:
(setf alist '((:key-1 "Key no. 1")
(:key-2 "Key no. 2")))
(assq :key-1 alist) ; => (:key-1 "Key no. 1")
(assq (make-symbol ":key-1") alist) ; => nil
La première clé fonctionne comme prévu, mais pas la deuxième clé. Dans la mesure où il n'y a pas de make-keyword
fonction évidente , comment créer et utiliser un mot-clé?
Motivation d'origine: j'ai besoin de transformer une chaîne en une clé de recherche qui est un symbole sur lequel je peux put
propriétés.
Dans le processus de formulation de cette question, j'ai obtenu au moins une partie de la réponse, que je poste séparément. J'espère que des esprits plus brillants que le mien pourront l'améliorer.
(eq :foo (read ":foo"))