CL-USER> (defclass a () ())
CL-USER> (defclass b (a) ())
CL-USER> (make-instance 'b)
#<STANDARD-CLASS B>
我可以在我的实例 b 上调用什么谓词函数,如果它是从 a 继承的,它会返回 T?在以下方面:
CL-USER> (instanceof 'a *)
T
CL-USER> (defclass a () ())
CL-USER> (defclass b (a) ())
CL-USER> (make-instance 'b)
#<STANDARD-CLASS B>
我可以在我的实例 b 上调用什么谓词函数,如果它是从 a 继承的,它会返回 T?在以下方面:
CL-USER> (instanceof 'a *)
T
类名也是类型名,所以:
(typep * 'a)
请参阅集成类型和类:http ://clhs.lisp.se/Body/04_cg.htm
或者你可以这样做:
(defmethod is-an-a-p ((x a))
t)
(defmethod is-an-a-p ((x t))
nil)