3
วิธีสร้าง: คำหลัก?
ถาม: มีวิธีสร้างและใช้: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คุณสมบัติได้ ในกระบวนการกำหนดคำถามนี้ฉันได้รับอย่างน้อยส่วนหนึ่งของคำตอบซึ่งฉันโพสต์แยกต่างหาก ฉันหวังว่าจิตใจที่แจ่มใสกว่าที่ฉันจะปรับปรุงได้