common-lisp - 用不同的lambda列表重新定义泛型函数

标签 common-lisp slime sbcl

我犯了一个错误,并且忘记了在我第一次编译时在defgeneric中指定关键字参数。现在,我真的不想重启SLIME只是为了重新定义此defgeneric以包含更多参数。有办法以某种方式“取消定义”吗?

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

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

为了后代。

最佳答案

参见fmakunbound

(fmakunbound 'some-generic)

关于common-lisp - 用不同的lambda列表重新定义泛型函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17921253/

相关文章:

macros - 在宏中将两个变量合并为一个函数名

lisp - 我如何定义 swank 服务器应该监听的地址?

lisp - 什么是 Lisp 图像?

lisp - 如何从此文本中删除括号

common-lisp - 如何构建 Common Lisp 项目?

lisp - 使用 lisp 生成随机数列表列表

functional-programming - 使用标准映射函数处理列表中的成对连续元素?

namespaces - 在 clojure 中,如何取消命名空间中的 var 定义?

emacs - swank-clojure 和 slime 不再在 emacs 中合作

windows - 如何在 Windows 中获得 common-lisp GUI?