जवाबों:
हाँ। से नामांकित विशेषताएं (जोर मेरा):
एक सुविधा नाम एक प्रतीक है जो फ़ंक्शन, चर आदि के संग्रह के लिए खड़ा है। उन्हें परिभाषित करने वाली फ़ाइल को सुविधा प्रदान करनी चाहिए। एक अन्य कार्यक्रम जो उनका उपयोग करता है, वे यह सुनिश्चित कर सकते हैं कि उन्हें सुविधा की आवश्यकता के द्वारा परिभाषित किया गया है। यदि यह पहले से लोड नहीं किया गया है तो यह परिभाषाओं की फ़ाइल को लोड करता है।
एक सुविधा की उपस्थिति की आवश्यकता के लिए,
require
सुविधा नाम के साथ तर्क के रूप में कॉल करें ।require
वैश्विक वैरिएबल मेंfeatures
यह देखने के लिए कि क्या वांछित सुविधा पहले से ही प्रदान की गई है। यदि नहीं, तो यह उपयुक्त फ़ाइल से सुविधा को लोड करता है । इस फ़ाइल कोprovide
फीचर को जोड़ने केfeatures
लिए शीर्ष स्तर पर कॉल करना चाहिए ; यदि यह ऐसा करने में विफल रहता है, तोrequire
एक त्रुटि का संकेत देता है ।
हां, बशर्ते कि कोड उस नियम का सम्मान करता हो helm.el
या helm.elc
कहता हो जिसे उसे कॉल करना होगा (provide 'helm)
। कॉल (provide 'helm)
प्रतीक helm
को एक लोड की गई विशेषता के रूप में चिह्नित करता है , और इसके कारण दूसरा कॉल (require 'helm)
कुछ भी नहीं करता है।
यदि लोड किया गया पैकेज कॉल नहीं करता है, provide
तो require
एक त्रुटि का संकेत देता है, और सुविधा को लोड के रूप में चिह्नित नहीं किया जाता है, इसलिए दूसरी कॉल (require 'helm)
लोड करने का प्रयास करेगी (और आमतौर पर उसी कारण से फिर से विफल हो जाती है)।