ถาม: มีวิธีสร้างและใช้:keywords
อย่างไร?
พิจารณาความพยายาม (ไร้เดียงสาที่เห็นได้ชัด) ในการเข้าถึงของเล่น alist ต่อไปนี้:
(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"))