gpt4 book ai didi

inheritance - 相当于 CLOS 的 instanceof?如何检查实例是否从另一个对象继承?

转载 作者:行者123 更新时间:2023-12-04 14:13:57 25 4
gpt4 key购买 nike

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)

关于inheritance - 相当于 CLOS 的 instanceof?如何检查实例是否从另一个对象继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19151569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com