【发布时间】:2012-07-05 19:42:41
【问题描述】:
这是我班级的包:
(in-package :cl-user)
(defpackage foo
(:use :cl)
(:export :bar))
(in-package :foo)
(defclass bar ()
(baz))
我可以在包cl-user 中创建bar 的实例。
CL-USER> (defvar f)
F
CL-USER> (setf f (make-instance 'foo:bar))
#<FOO:BAR {10044340C3}>
但我无法访问成员 baz。像这样调用slot-value ...
CL-USER> (slot-value f 'baz)
...导致此错误消息:
When attempting to read the slot's value (slot-value), the slot
BAZ is missing from the object #<FOO:BAR {10044340C3}>.
[Condition of type SIMPLE-ERROR]
我已经尝试将baz 添加到:export 列表中,但这也不起作用。
如何从包中导出槽和访问器?
【问题讨论】:
标签: lisp common-lisp sbcl clos