问:如何创建和使用:keywords
?
考虑一下(显然是天真的)尝试访问以下玩具列表:
(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
第一个键可以按预期工作,但第二个键则不能。在没有明显make-keyword
功能的情况下,如何创建和使用关键字?
原始动机:我需要将字符串转换为查找键,该键是我可以使用的符号put
。
在提出这个问题的过程中,我至少得到了一部分答案,我将分别发布。我希望有比我的人更聪明的想法可以改善它。
(eq :foo (read ":foo"))