Я понимаю, что все классы в ruby являются экземплярами класса metaclass. И эти "обычные" объекты являются экземплярами этих классов (экземпляры класса метакласса).
Но я продолжаю задаваться вопросом, я имею в виду, что классы являются корнями из объектов, классы сами являются экземплярами класса (называются метаклассом, потому что его экземпляры являются классами). В некоторых блогах я видел некоторое переопределение метода new
класса Class.
Итак, класс ведет себя как класс, но его экземплярами являются классы. Итак, кажется, что у нас есть круг, он выглядит как класс Class - это сам экземпляр.
Мне явно не хватает места. Каково происхождение класса Class?
Вот пример, который меня смущает:
class Class
def new
#something
end
end
Но ключевое слово class
подразумевает экземпляр класса Class. Итак, как это работает?