使用不同的lambda列表重新定义泛型函数

8 sbcl common-lisp slime

我犯了一个错误,忘记在defgeneric我第一次编译它时指定关键字参数.现在我真的不想重新启动SLIME来重新定义这个defgeneric以包含更多参数.有没有办法以某种方式"取消定义"它?

哦,对不起,没关系,在删除为该通用定义的所有方法之后,SBCL重新定义了它,所以它现在都很好:

(remove-method #'some-generic 
  (find-method #'some-generic '() (list of method types)))
Run Code Online (Sandbox Code Playgroud)

对于后代.

Rai*_*wig 9

SLIME具有取消Ctrl-c Ctrl-u定义函数的命令.将光标置于功能符号上,然后键入序列.