私は「メタプログラミング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はAの祖先ではないようです。
誰かがここで私の混乱を解消することができるでしょうか?