2013-07-29 16 views
7

初めてコンパイルしたときに、キーワード引数をdefgenericに指定するのを忘れてしまった。今私は実際には、より多くの引数を含めるためにこの1つを再定義するためにSLIMEを再起動したくない。defgenericそれをどうにかして "定義解除"する方法はありますか?それは今、すべての良いことだので異なるラムダリストを持つ汎用関数を再定義

ああ、申し訳ありませんが、決して気にし、その汎用のために定義されたすべてのメソッドを削除した後、SBCLは、それを再定義していない。後世のために

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

を。

答えて

10

fmakunboundを参照してください。

(fmakunbound 'some-generic) 
+0

ああ、はい、それはずっと簡単です。 –

0

追加の引数で1つ以上のメソッドをコンパイルして、Common Lispの実装が未知のパラメータについて「不平」を受けた後、ジェネリック関数で使用可能な引数を更新する再起動を選択することもできます。

+0

私は結論に至りました、実際にはキーワードを使用して戻ってほしいと思っています...これはもっと難しいと思われます:)再コンパイル時の私の唯一のオプションは、終了するか、中止するか...何かを置き換えることはできません。 –

8

SLIMEは関数を未定義にするコマンドはCtrl-CはCtrl-Uを持っています。機能記号にカーソルを合わせ、シーケンスを入力します。

関連する問題