2012-07-05 31 views
5

यह कैसे मैं प्रतीकों पैकेज foo से :bar और :baz निर्यात है:लिस्प को पहले निर्यात किए गए प्रतीकों के बारे में भूलने के लिए कैसे करें?

(in-package :cl-user) 
(defpackage foo 
    (:use :cl) 
    (:export :bar :baz)) 
(in-package :foo) 

जब मैं निर्यात प्रतीकों की सूची से हटाने के :baz SBCL शिकायत करता है और संकलन विफल रहता है।

warning: 
    FOO also exports the following symbols: 
     (FOO:BAZ) 

मैं कैसे कर सकते हैं SBCL :baz के बारे में कीचड़ पुन: लोड के बिना न देने वाला बना?

उत्तर

10

SBCL:

* (apropos "unexport") 

UNEXPORT (fbound) 


* (documentation 'unexport 'function) 

"Makes SYMBOLS no longer exported from PACKAGE." 


* (apropos "unintern") 

UNINTERN (fbound) 


* (documentation 'unintern 'function) 

"Makes SYMBOL no longer present in PACKAGE. If SYMBOL was present then T is 
returned, otherwise NIL. If PACKAGE is SYMBOL's home package, then it is made 
uninterned." 
2

वहाँ इन मुद्दों है, जो आपको पढ़ने या पुनः पढ़ने चाहिए पर दस्तावेज़ीकरण के बहुत सारे है। यह पैकेज/प्रतीक चीज पहली नजर में काफी तुच्छ लगती है, लेकिन यह कुछ अलग-अलग भाषाओं से ज्ञान को पुन: उपयोग करने के लिए पर्याप्त है (यानी पैकेजों और प्रतीकों की बात आती है तो अन्य भाषाओं से ज्ञान का पुन: उपयोग करने की कोशिश करना)।

यदि दस्तावेज़ों को पढ़ने के बाद, आपको अभी भी परेशानी है, तो उन्हें फिर से चलाने का प्रयास करें (परेशानी से प्राप्त अनुभव आपको प्रासंगिक अनुभागों पर ध्यान केंद्रित करने में मदद करेगा; रीडिंग के बीच परेशानी के बिना रीडिंग बहुत उपयोगी उत्पादक नहीं है)।

कुछ लिंक मैंने पाया उपयोगी: