प्रश्न: कोई कैसे निर्माण और उपयोग करता है :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
पहली कुंजी अपेक्षा के अनुसार काम करती है, लेकिन दूसरी कुंजी नहीं है। Insofar के रूप में कोई स्पष्ट make-keyword
कार्य नहीं है , कोई कीवर्ड कैसे बनाता है और उसका उपयोग कैसे करता है?
मूल प्रेरणा: मुझे एक स्ट्रिंग को लुकअप कुंजी में बदलने की आवश्यकता है जो एक प्रतीक है जिस पर मैं put
गुण कर सकता हूं ।
इस प्रश्न को तैयार करने की प्रक्रिया में, मैंने उत्तर के कम से कम हिस्से को प्राप्त कर लिया है, जिसे मैं अलग से पोस्ट कर रहा हूं। मुझे उम्मीद है कि मेरा दिमाग इससे बेहतर हो सकता है।
(eq :foo (read ":foo"))