如何在 common-lisp 中使用 slime 浏览 class 层次结构
How to browse class hierarchy with slime in common-lisp
我用的是emacs,+slime+sbcl.
我可以在通过 slime-inspector 检查 class/object 时上升到 class 层次结构。
但是我怎样才能浏览特定 class 的子 class 呢?
是否有粘液功能(或其他方式)来做到这一点?
是的,它应该出现在检查器的 DIRECT-SUBCLASSES
槽中。
如果您没有看到它,可能是因为您的 Slime 检查器不花哨:
(setq slime-contribs '(slime-fancy))
或者只需调用 M-x slime-enable-contrib,然后调用 fancy
,这会启用所有花哨的功能(技术上 fancy-inspector
应该足够了)。
您也可以使用 Closer MOP 在您的程序中执行此操作:
(closer-mop:class-direct-subclasses (find-class 'number))
=> (#<BUILT-IN-CLASS COMMON-LISP:COMPLEX> #<BUILT-IN-CLASS COMMON-LISP:REAL>)
我用的是emacs,+slime+sbcl.
我可以在通过 slime-inspector 检查 class/object 时上升到 class 层次结构。 但是我怎样才能浏览特定 class 的子 class 呢? 是否有粘液功能(或其他方式)来做到这一点?
是的,它应该出现在检查器的 DIRECT-SUBCLASSES
槽中。
如果您没有看到它,可能是因为您的 Slime 检查器不花哨:
(setq slime-contribs '(slime-fancy))
或者只需调用 M-x slime-enable-contrib,然后调用 fancy
,这会启用所有花哨的功能(技术上 fancy-inspector
应该足够了)。
您也可以使用 Closer MOP 在您的程序中执行此操作:
(closer-mop:class-direct-subclasses (find-class 'number))
=> (#<BUILT-IN-CLASS COMMON-LISP:COMPLEX> #<BUILT-IN-CLASS COMMON-LISP:REAL>)