Объект, Класс, Модуль, NilClass являются экземплярами класса.
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) Если Объект, Класс, Модуль не являются объектами, то чем они являются?
3) Учитывает ли метод класса отсутствующий метод в экземпляре a
из Class
и, в конечном итоге, уменьшение количества методов?
>> Class.methods.count
=> 82
>> a = Class.new
=> #<Class:0x1005519b8>
>> a.methods.count
=> 81