2013-07-29 10 views
7

के साथ जेनेरिक फ़ंक्शन को फिर से परिभाषित करें मैंने पहली बार गलती की है और मैंने पहली बार संकलित किए गए defgeneric में कीवर्ड तर्क निर्दिष्ट करना भूल गए हैं। अब मैं वास्तव में अधिक तर्क शामिल करने के लिए इस defgeneric को फिर से परिभाषित करने के लिए SLIME को पुनरारंभ करना नहीं चाहता हूं। क्या किसी भी तरह से इसे "अनिश्चित" करने का कोई तरीका है?विभिन्न लैम्ब्डा सूची

ओह, माफ करना, कोई बात नहीं, सभी तरीकों कि जेनेरिक के लिए परिभाषित हटाने के बाद, SBCL यह, नए सिरे से परिभाषित तो यह अब सब अच्छा है:

(remove-method #'some-generic 
    (find-method #'some-generic '() (list of method types))) 

भावी पीढ़ी के लिए।

उत्तर

10

fmakunbound देखें।

(fmakunbound 'some-generic) 
+0

ओह, हाँ, यह बहुत आसान होगा। –

0

एक और संभावना अतिरिक्त तर्कों के साथ एक या अधिक तरीकों को संकलित करना होगा और फिर, Common Lisp कार्यान्वयन अज्ञात पैरामीटर के बारे में "शिकायत" के बाद, जेनरेट फ़ंक्शन में उपलब्ध तर्कों को अद्यतन करने वाले पुनरारंभ करें का चयन करें।

+0

हे, अब मैं निष्कर्ष पर आया हूं, मैं वास्तव में इसे कीवर्ड/w/o चाहता हूं ... यह कठिन लगता है :) बस यह सुनिश्चित करने के लिए: पुन: प्रारंभ करने पर मेरे एकमात्र विकल्प, जब मैं असंगत विधियों को परिभाषित करता हूं या तो छोड़ना या निरस्त करना है ... यह किसी भी चीज़ को बदलने की पेशकश नहीं करता है। –

8

कीचड़ आदेश Ctrl-सी Ctrl-यू एक समारोह परिभाषित किया है। कर्सर को फ़ंक्शन प्रतीक पर सेट करें और फिर अनुक्रम टाइप करें।

संबंधित मुद्दे