例如,我希望从REPL中看到一个插槽的可用访问器列表,而不是跳转到源。我怎么做?
答案 0 :(得分:2)
不确定是否有办法轻松获取accessor
的列表。对象检查功能倾向于从特定于实现的包中导出。您可以查看package
file的cl-mop
,了解它们的位置。相关的行是
...
(:shadowing-import-from
#+openmcl-native-threads #:ccl
#+cmu #:pcl
#+sbcl #:sb-pcl
#+lispworks #:hcl
#+allegro #:mop
#+clisp #:clos
#:class-slots #:slot-definition-name)
...
该项目还会导出slot-names
和to-alist
方法,这些方法听起来完全一样。
如果您在slime
,而不是普通的命令行REPL,则可以使用slime-inspect
。如果您使用它来检查class
,您将看到(除其他外)一个专门针对它的方法列表(您需要以这种方式检查class
,所以如果您有一个实例,你需要先打电话给class-of
。