Object 、 Class 、 Module 、 NilClass はすべて Class のインスタンスです。
1) 最初の疑念 どうして何かがそれ自体のインスタンスになることができるのか? (i.e 'Class' is an instance of 'Class')
または私の仮定は間違っていますか?
2) Object 、 Class 、Module など ... がすべてオブジェクトの場合、どうすればクラスメソッドを持つことができますか? クラスメソッドはクラスからのみ呼び出すことができ、オブジェクトには存在しないためです。(or is my assertion incorrect that Object, Class , Module are all objects ?)
3) Object 、 Class 、 Module がオブジェクトでない場合、それらは何ですか?
3) クラスメソッドは、インスタンスa
の欠落したメソッドを説明しClass
、最終的にメソッド数の減少を説明しますか?
>> Class.methods.count
=> 82
>> a = Class.new
=> #<Class:0x1005519b8>
>> a.methods.count
=> 81