З: Як створювати та використовувати :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"))