में पॉलिमॉर्फिक कॉलबैक elisp में polymorphic कॉलबैक को लागू करने के लिए बेवकूफ तरीका क्या है?Emacs/Elisp
विशेष रूप से, मान लें कि मेरे पास एक ऐसा फ़ंक्शन वाला मामूली मोड है जो एक निश्चित ऑपरेशन करता है और फिर किसी अन्य फ़ंक्शन को आमंत्रित करता है। इस दूसरे फ़ंक्शन में एक अलग कार्यान्वयन होना चाहिए, इस पर निर्भर करता है कि वर्तमान बफर में सी ++ फ़ाइल या जावा फ़ाइल है या नहीं।
वैकल्पिक रूप से, मान लीजिए कि मैं कार्यों के बजाय चर को अधिभारित करना चाहता हूं। उदाहरण के लिए, मैं कुछ बाहरी निष्पादन योग्य को आमंत्रित करना चाहता हूं, और इसके लिए पारित तर्कों में से एक इस बात पर निर्भर करता है कि वर्तमान बफर में सी ++ फ़ाइल या जावा फ़ाइल है या नहीं। मैं एक सामान्य कार्य में कमांड लाइन बनाने में सक्षम होना चाहता हूं और बफर की सामग्री के आधार पर एक तर्क को प्रतिस्थापित करना चाहता हूं। make-variable-buffer-local
सही दृष्टिकोण है? किस बिंदु पर (और किस तंत्र द्वारा) इन स्थानीय चरों को शुरू में सेट किया जाना चाहिए?
मैंने देखा है कि 'मेक-वेरिएबल-बफर-लोकल' और 'funcall'' इंडेंट-लाइन-फ़ंक्शन 'के साथ लिया गया दृष्टिकोण है, दूसरों के बीच। – Ray