ruby – 为什么`BasicObject`回答方法`superclass`和`class`?
发布时间:2020-12-17 02:55:38 所属栏目:百科 来源:网络整理
导读:如果对象在Object中定义了BasicObject和#superclass和#class,如何可能A类 BasicObject是A.superclass和A.class的答案吗? A.ancestors:[A,BasicObject] 更进一步(根据新的答案): 如果A是Object的一个实例,为什么它的祖先没有呢? Class B;endB.ancestors #
如果对象<在Object中定义了BasicObject和#superclass和#class,如何可能A类< BasicObject是A.superclass和A.class的答案吗? A.ancestors:[A,BasicObject] 更进一步(根据新的答案): 如果A是Object的一个实例,为什么它的祖先没有呢?
Class B;end B.ancestors # => [B,Object,Kernel,BasicObject] SuperClass可能在内核中定义,但A在其祖先中没有内核. 内核包含在Object中(从 class Object < BasicObject include Kernel end P.S这git issue让我很困惑,可以问一下 解决方法class A < BasicObject end 这里,A类本身就是 A.class #=> Class 答案.class和.superclass因为Class支持它们. 在这种情况下,您所考虑的是A的一个实例: A.new (Object doesn't support #inspect) => (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |