獲取類的插槽名稱
讓我們說我們有一個類
(defclass person ()
(name email age))
要獲取類的槽的名稱,我們使用函式 class-slots。這可以在 close-mop 系統中提供的 close-mop 包中找到。要載入正在執行的 lisp 影象,我們使用 (ql:quickload :closer-mop)
。我們還必須確保在呼叫類槽之前完成該類。
(let ((class (find-class 'person)))
(c2mop:ensure-finalized class)
(c2mop:class-slots class))
返回有效槽定義物件的列表 :
(#<SB-MOP:STANDARD-EFFECTIVE-SLOT-DEFINITION S/TRANSFORMATIONS::NAME>
#<SB-MOP:STANDARD-EFFECTIVE-SLOT-DEFINITION S/TRANSFORMATIONS::EMAIL>
#<SB-MOP:STANDARD-EFFECTIVE-SLOT-DEFINITION S/TRANSFORMATIONS::AGE>)