2010-09-19 10 views
5

मैं कार्यों को लोड और कॉल करने में सक्षम हूं लेकिन मैं कुछ सुधार करने के बाद फ़ाइल को पुनः लोड करना चाहता हूं।CLISP REPL में एक लिस्प फ़ाइल को कैसे उतारना है?

या तो एक अनलोड या पुनः लोड करने वाला फ़ंक्शन ढूंढ सकता है?

उत्तर

5

बस load का उपयोग करें।

9

अनलोडिंग वास्तव में संभव नहीं है। उदाहरण के लिए यह एक पैकेज को हटाना संभव है और इस प्रकार इसकी परिभाषाओं को हटा दें। लेकिन उस पैकेज के प्रतीक के अन्य संदर्भ अभी भी मौजूद हो सकते हैं।

इसके साथ निपटने का सामान्य तरीका load एक फ़ाइल फिर से है, जैसा कि विजय मैथ्यू ने उल्लेख किया था।

यह उपयोगी हो सकता है कि लोड की गई फ़ाइल इस तरह से लिखी गई है कि पुनः लोड करना संभव है।

पुन: लोड पर कुछ टिप्पणी:

  • कार्य/मैक्रो नई परिभाषा से बदल दिया जाएगा।

  • मौजूदा कोड में फ़ंक्शंस/मैक्रोज़ इनलाइनिंग/मैक्रो विस्तार के कारण प्रतिस्थापित नहीं किए जा सकते हैं।

  • CLOS कक्षाएं अपडेट की जाएंगी, इसके उदाहरणों को आलसी अपडेट किया जाएगा।

  • संरचना परिभाषाओं को अद्यतन किया जाएगा, मौजूदा संरचना उदाहरण अपडेट नहीं किए जाएंगे।

  • डेफवर एक मूल्य को प्रतिस्थापित करता है यदि कोई अस्तित्व में नहीं है। DEFPARAMETER हमेशा एक मान बदल देता है।

+0

@ जोसविग धन्यवाद !! –

+3

मुझे एहसास है कि यह एक पुराना जवाब है, लेकिन यहां हम जाते हैं। यह उल्लेखनीय है कि कोई भी कार्य/मैक्रोज़/आदि। हो सकता है कि आपने फ़ाइल से हटा दिया हो, फिर भी छवि को प्रदूषित कर सकता है और संभावित रूप से ऐसे व्यवहार का कारण बन सकता है जिसे आप पूरी तरह से साफ निर्माण में नहीं देख पाएंगे। –

संबंधित मुद्दे