2009-12-20 9 views
6

मैं प्रैक्टिकल कॉमन लिस्प के माध्यम से जा रहा हूं, मैं लगभग समाप्त हो चुका हूं, और एक सवाल जिसकी मुझे अभी तक उत्तर नहीं दिया गया है (या शायद मुझे इसे याद आया) "आवश्यकता" और "लोड" के बीच का अंतर है।सामान्य लिस्प में आवश्यकता और लोड के बीच क्या अंतर है?

तो क्या अंतर है?

धन्यवाद।

+0

किसी को भी इस प्रश्न को पढ़ने और इसके जवाब देने के लिए: ** ** ** ** की आवश्यकता है और पूरे मॉड्यूल सिस्टम ** को एएनएसआई मानकीकरण_ के बाद से सामान्य लिस्प में ** बहिष्कृत किया गया है! – hijarian

उत्तर

8

require मॉड्यूल के लिए उपयोग किया जाता है, जिसमें प्रत्येक में एक या कई फाइलें हो सकती हैं।

load एक मनमाने ढंग से एकल फ़ाइल लोड करने के लिए प्रयोग किया जाता है।

require समारोह परीक्षण है कि क्या एक मॉड्यूल पहले से मौजूद है (एक केस-संवेदी तुलना का उपयोग कर); यदि मॉड्यूल मौजूद नहीं है, तो उचित फ़ाइल या फ़ाइलों का सेट लोड करने के लिए की आवश्यकता होती है। पथनाम तर्क, यदि मौजूद है, तो एक पथनाम या पथनामों की एक सूची है जिसका फ़ाइलों को क्रम में लोड किया जाना है, दाएं को बाएं। यदि पथनाम तर्क शून्य है या प्रदान नहीं किया गया है, तो सिस्टम कुछ सिस्टम-निर्भर तरीके से निर्धारित करने का प्रयास करेगा, जो लोड करने के लिए फ़ाइलें। इसमें आमतौर पर मॉड्यूल नामों की कुछ केंद्रीय रजिस्ट्री और संबंधित फ़ाइल सूचियां शामिल होंगी।

स्रोत: http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node119.html

load समारोह लिस्प वातावरण में फ़ाइल नाम से नाम की फ़ाइल लोड करता है। यह माना जाता है कि एक पाठ (चरित्र फ़ाइल) कुछ उचित कार्यान्वयन पर निर्भर भी तरह से एक वस्तु (बाइनरी) फ़ाइल से स्वचालित रूप से से पहचाना जा सकता, संभवतः फ़ाइल प्रकार के अनुसार। फ़ाइल नाम के लिए डिफ़ॉल्ट वेरिएबल डिफ़ॉल्ट-पथनाम-डिफ़ॉल्ट से लिया गया है। यदि फ़ाइल नाम ( डिफ़ॉल्ट में विलय करने के बाद) स्पष्ट रूप से एक प्रकार निर्दिष्ट नहीं करता है, और फ़ाइल के फ़ाइल फ़ाइल में उपलब्ध हैं, तो लोड अधिक उचित फ़ाइल का चयन करने का प्रयास करना चाहिए कुछ कार्यान्वयन-निर्भर साधन।

स्रोत: http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node217.html

+4

सीएलटीएल सीएल के लिए एक अच्छा प्राथमिक संदर्भ नहीं है; हाइपरस्पेक बेहतर है। सही स्थानों के छोटे लिंक के लिए http://l1sp.org/cl/load या http://l1sp.org/cl/require देखें। – Xach

2

अंतर यह है कि (require) एक मॉड्यूल को लोड करता है कि वह पहले से लोड नहीं की गई है, (load) एक फ़ाइल लोड करता है।

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