1

有没有办法在类的名称而不是实例上调用 :class 分配的插槽?就像是:(class-alloc-slot 'name-of-the-class)

4

1 回答 1

3

LispWorks:

CL-USER 6 > (defclass foo () ((bar :allocation :class :initform :baz)))
#<STANDARD-CLASS FOO 402005B3CB>

CL-USER 7 > (make-instance 'foo)
#<FOO 4020240C33>

CL-USER 8 > (class-prototype (find-class 'foo))
#<FOO 402005EB73>

CL-USER 9 > (slot-value * 'bar)
:BAZ

将 CLOSER-MOP 用于便携式 MOP 功能。

于 2020-11-06T17:27:06.730 回答