乍一看,我以为
但是事情突然变得非常奇怪。
"Aha! 我想到了。我们真正创建了一个
BasicObject
只是“放置”了Class
(即Class
继承自BasicObject
)。Class.ancestors #=> [Class, Module, Object, Kernel, BasicObject]
Module.ancestors #=> [Module, Object, Kernel, BasicObject]
Object.ancestors #=> [Object, Kernel, BasicObject]
BasicObject.ancestors #=>[BasicObject]
但是事情突然变得非常奇怪。
Class.class #=> Class
Module.class #=> Class
Object.class #=> Class
BasicObject.class #=> Class
"Aha! 我想到了。我们真正创建了一个
Class
的实例:BasicObject = Class.new
。但是我记得所有这些实例都处于一个层次结构中,其中Class
位于底部:Class < Module < Object < Kernel < BasicObject
。每个类同时也是对象。这样,系统似乎高度循环。层次结构从何处开始,如何融合形成Ruby的抽象结构?
"