我有 2 个破坏:monster
& orc
. orc
包括 monster
.通用怪物上有通用定义方法,名为 monster-show
& monster-hit
. orc
有专门的monster-hit
但仍保留通用 monster-show
.我的问题是我不小心为 orc
命名了专门的方法。错误的名称( monster-show
),所以现在当我尝试使用通用的 monster-show
时,它运行它不应该运行的代码(我编译的错误命名的 defmethod)而不是运行泛型方法。
有没有办法摆脱 Slime + SBCL 中的专门定义方法?
最佳答案
如果你没有 IDE 或类似的东西,你可以使用 remove-method
:
(remove-method #'monster-show
(find-method #'monster-show
()
(list (find-class 'orc))))
关于common-lisp - 如何删除结构的 defmethod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48321284/