एस्ट्रोफ़े एक उद्धरण है, जो दुभाषिया को निम्नलिखित अभिव्यक्ति (प्रतीक नाम) का विश्लेषण नहीं करने के लिए कहता है। इस प्रकार, 'add-to-list
प्रतीक प्राप्त करता है जिसमें सूची मूल्य शामिल है जिसका मूल्यांकन किया जाना है।
प्रतीकों के बारे में और जानने के लिए, Symbol दस्तावेज़ीकरण पढ़ें (विशेष रूप से, Symbol Components प्रतीकों के नाम, मूल्य, कार्य परिभाषाएं और संपत्ति सूचियां हैं)।
प्रलेखन पढ़ने के बिना, इस तरह मैं इसे समझाता हूं: Emacs lisp's evaluation strategy मूल्य से गुजरना है (जैसा कि नाम या संदर्भ या किसी और के विपरीत है)। यदि उद्धरण वहां नहीं था, flymake-allowed-file-name-masks
का मूल्यांकन मूल्य के लिए किया जाएगा, और add-to-list
को सीधे सूची में काम करना होगा। यह निम्नलिखित अपवादों के साथ काम करेगा। यदि सूची खाली थी, तो मूल चर को इंगित करने के लिए कोई रास्ता नहीं होगा। इसी कारण से, आप सूची के सामने तत्वों को जोड़ने में सक्षम नहीं होंगे।
उन दो मामलों को काम करने के लिए, आपको वास्तव में परिवर्तनीय नाम की आवश्यकता है ताकि आप अंक संशोधित कर सकें।
शायद यह निम्नलिखित पढ़ने के लिए उपयोगी होगा: Introduction to Evaluation, Modifying List Variables, और Modifying Existing List Structures।
यदि आप box diagrams से परिचित हैं, तो शायद यह मदद करेगा।
कल्पना कीजिए एक सूची है कि some-var
अंक:
somevar
|
|
v
--- --- --- --- --- ---
| | |--> | | |--> | | |--> nil
--- --- --- --- --- ---
| | |
| | |
--> rose --> violet --> buttercup
और आप उस सूची के मोर्चे पर कुछ डाल करने के लिए चाहता था।
यदि सब आप के साथ काम करना है somevar
में सूचक की मूल्य है, तो सबसे अच्छा तुम कर सकते हो एक नए तत्व सूची के सामने पर डाल दिया जाता है, लेकिन आप वास्तव में क्या somevar
अंक के लिए संशोधित नहीं कर सकते (क्योंकि आपके पास somevar
नहीं है, तो आपके पास मान है)। इसलिए जैसा:
somevar
|
|
v
--- --- --- --- --- --- --- ---
| | |--> | | |--> | | |--> | | |--> nil
--- --- --- --- --- --- --- ---
| | | |
| | | |
--> tulip --> rose --> violet --> buttercup
तो, अपने स्वयं के 'add-to-list
समारोह लिखने के लिए, आप चर नाम की जरूरत है।
बेशक, यदि आपने 'add-to-list
को macro के रूप में लिखा है, तो आपके पास वह प्रतिबंध नहीं होगा।
मुझे अब सही अवधारणा मिली है! इसे अन्य भाषाओं में संदर्भ द्वारा मूल्य और कॉल द्वारा कॉल के साथ तुलना की जा सकती है! धन्यवाद! – kjshim