2010-09-20 17 views
6

में सक्रिय प्रतीक तालिका तक पहुंचने से मैंने सुना है कि सक्रिय प्रतीक तालिका सामान्य लिस्प रनटाइम के भीतर पहुंच योग्य है। क्या मैंने गलत समझा है?सामान्य लिस्प

+0

"सक्रिय प्रतीक तालिका" से आपका क्या मतलब है? –

उत्तर

8

'प्रतीक टेबल' कॉमन लिस्प में 'संकुल' कहा जाता है। उदाहरण के लिए देखें: Introduction to Packages, CL HyperSpec

सामान्य लिस्प में पैकेज पर कई ऑपरेशन उपलब्ध हैं: The Packages Dictionary

Symbols पैकेज के सदस्य हो सकते हैं ('interned' होने के नाते)।

परिवर्तनीय *package* एक पैकेज के रूप में एक पैकेज रखता है, जिसका उपयोग कई संचालनों द्वारा किया जाता है जो एक पैकेज को डिफ़ॉल्ट के रूप में उपयोग करते हैं। एक उदाहरण 'reader' है, जो डिफ़ॉल्ट रूप से * पैकेज * के पैकेज में दिखता है।

+0

ओह, इसलिए वह जगह है जहां पर perl संकुल आते हैं, और सभी प्रकार के समूह जो प्रविष्टियां हैं हमेशा एक पैकेज के लिए बाध्य होते हैं O.o – Dmitry

5

आप do-all-symbols का उपयोग कर सकते हैं।

इसी तरह के प्रश्न के लिए here देखें। स्वीकार्य उत्तर में पैकेज पर कुछ विवरण भी हैं, जो आसान है।

कोड में ऐसा कुछ। useful-symbol-p परिभाषित आप मनचाहे ढंग से:

(let ((lst())) 
    (do-all-symbols (s lst) 
    (when (useful-symbol-p s) (push s lst))) 
    lst) 
संबंधित मुद्दे