Q: Làm thế nào để tạo và sử dụng :keywords
?
Hãy xem xét một nỗ lực (ngây thơ, rõ ràng) để truy cập vào đồ chơi sau đây:
(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
Khóa đầu tiên hoạt động như mong đợi, nhưng khóa thứ hai thì không. Trong chừng mực không có make-keyword
chức năng rõ ràng , làm thế nào để tạo và sử dụng một từ khóa?
Động lực ban đầu: Tôi cần chuyển đổi một chuỗi thành một khóa tra cứu là biểu tượng mà tôi có thể tạo ra put
.
Trong quá trình hình thành câu hỏi này, tôi đã nhận được ít nhất một phần câu trả lời mà tôi đang đăng riêng. Tôi hy vọng tâm trí sáng sủa hơn tôi có thể cải thiện nó.
(eq :foo (read ":foo"))