Błąd metaklasy Ruby
Rozumiem, że wszystkie klasy w ruby są instancjami klasy Metaclass. A te „zwykłe” obiekty to instancje tych klas (instancje klasy metaklasy).
Ale wciąż się zastanawiam, chodzi mi o to, że klasy są pierwiastkami obiektów, same klasy są instancjami klasy (nazywanymi metaklasą, ponieważ jej instancje są klasami). W niektórych blogach widziałem nadrzędną metodęnew
, klasy Class.
Zatem klasa zachowuje się jak klasa, ale jej instancje są klasami. Wygląda na to, że mamy koło, wygląda na to, że klasa Class jest instancją samą w sobie.
Oczywiście brakuje mi tutaj punktu. Jakie jest pochodzenie klasy Class?
Oto przykład, który wprowadza mnie w błąd:
<code>class Class def new #something end end </code>
Ale słowo kluczoweclass
implikuje instancję klasy klasy. Jak to działa?