私の質問は非常に基本的でばかげているかもしれませんが、なぜ出力がこのようになるのか混乱しています。
MyClass = Class.new String
MyClass.ancestors
=> [MyClass, String, ..]
AnotherClass = Class.new MyClass
=> AnotherClass
AnotherClass.ancestors
=> [AnotherClass, MyClass, String, ..]
上記のコードでは、MyClass という名前の Class の新しいインスタンスを作成し、オブジェクト (Ruby ではすべてがオブジェクト) 'String' をパラメーターとして渡しています。MyClass の祖先リストに「文字列」が表示されるのはなぜですか。String から MyClass を継承していませんが、それが Ruby が行っているようです。コピーコンストラクターとして機能しますが、なぜ継承なのですか?