, लेकिन एक स्थानीय समारोह मैं जीएनयू मैनुअल ने सलाह दी हूँ 'flet' का उपयोग करने के लिए बाध्य करने के लिए:मैं अगर आप इसे विहित सूत्रीकरण कहेंगे नहीं जानते हैं और Emacs में flet तुतलाना
(defun adder-with-flet (x)
(flet ((f (x) (+ x 3)))
(f x))
)
हालांकि , दुर्घटना से मैंने कोशिश की (एक बिट के लिए योजना में खेला जाने के बाद) निम्नलिखित अभिव्यक्ति, जहां मैं 'लेट' का उपयोग करके एक चरम पर एक लैम्ब्डा अभिव्यक्ति बांधता हूं, और यह भी काम करता है अगर मैं फ़ंक्शन को मैपकार *:
(defun adder-with-let (x)
(let ((f (lambda (x) (+ x 3))))
(car (mapcar* f (list x))))
)
पर फ़ंक्शन पास करता है
और दोनों कार्य कार्य करते हैं:
(adder-with-flet 3) ==> 6
(adder-with-let 3) ==> 6
दूसरा काम क्यों करता है? मुझे कोई दस्तावेज नहीं मिल रहा है जहां प्रतीकों के कार्यों को बांधने के लिए 'चलो' का उपयोग किया जा सकता है।
किसी को भी करने के लिए इस बाहर की कोशिश कर रहा, ध्यान दें कि 'flet' Emacs उपयोग कर रहे हैं के संस्करण में उपलब्ध नहीं हो सकता है, जो मामले में एक' (सीएल की आवश्यकता होती है 'की कोशिश) 'जैसा कि नीचे उल्लिखित है (' फलेट' एक आम बात है)। – Robert
कौन सा जीएनयू मैनुअल यहां 'फलेट' के उपयोग की सिफारिश करता है? – Stefan
Emacs से 25.1.1 कार्य का वर्णन करें: flet यह मैक्रो 24.3 के बाद अप्रचलित है; या तो 'cl-flet' या 'cl-letf' – AAAfarmclub