我知道ruby中的每个类都是类“Class”的实例。甚至对于Object,Kernel类。
但是,我无法理解为什么Object类,它是类Class的祖先,可以是类Class的实例,它是它的子类。
irb(main):018:0* Class.ancestors
=> [Class, Module, Object, Kernel, BasicObject]
irb(main):019:0> Object.ancestors
=> [Object, Kernel, BasicObject]
irb(main):020:0> Object.class
=> Class
答案 0 :(得分:0)
ancestors
方法位于Module
下,并提供list of modules included in that module
。因此,Class
包含Class, Module, Object, Kernel, BasicObject
个模块。它不像子类(不扩展另一个类)。 Reference.