我正在研究“Metaprogramming Ruby”一书中的 Ruby 对象模型,并且我也理解类是对象的概念。
class A
end
A.ancestors # => [A, Object, Kernel, BasicObject]
A.class.ancestors # => [Class, Module, Object, Kernel, BasicObject]
我感到困惑的是,当我最初在 irb 中尝试 A.ancestors 时,我期望在 A.class.ancestors 中得到的结果 - 我的思考过程是:因为 A 是一个类,而一个类是一个实例class Class,它的祖先是Class。但是Class似乎不是A的祖先。
有人可以在这里消除我的困惑吗?