मुझे एक समारोह में कुछ सलाह देने में मज़ा आ रहा था:
(advice-add 'executable-find :around
(lambda (f &rest args)
(apply g args)))
;;; ^
आउच, एक टाइपो। इसे ठीक किया और फिर से कोड के ऊपर मूल्यांकन किया। लेकिन अब मेरे पास दोनों, "सही" और उस फ़ंक्शन के आसपास "टूटी हुई" सलाह है।
मैं इनसे कैसे छुटकारा पाऊं? यह देखते हुए कि advice-removeफ़ंक्शन ऑब्जेक्ट या आसपास की सलाह की आवश्यकता है (जो यहां खाली है)?
(स्पष्ट रूप से मैं बस छोड़ सकता हूं और पुनः आरंभ कर सकता हूं, लेकिन इसका एक और तरीका है, क्या यह है?)
eqजो पिछले वाले को नहीं मिलता है, (2) सलाह-निष्कासन आपको उस फ़ंक्शन की तुलना करेगा जब तक कि वह इसे नहीं मिल जाता। एक यह है किeqइसे हटा दें और (3), भले ही सलाह-हटाएं एक अलग परीक्षण का उपयोग करें, जैसेequal, यह अभी भी काम नहीं करेगा, क्योंकि एक लैम्ब्डा फॉर्म के विभिन्न मूल्यांकनequalएक दूसरे को नहीं करेंगे । निकला (1) सही है, लेकिन (2) और (3) गलत हैं: सलाह-उपयोग का उपयोग करता हैequal, और उसी परिणाम काlambdaदो बार मूल्यांकन करता हैequal!