From: Ilias Lazaridis Date: 2005-04-20T13:54:32+09:00 Subject: [EVALUATION] - E03d - The Ruby Object Model (End Game) [EVALUATION] - E03c - The Ruby Object Model (Revised Documentation) http://groups-beta.google.com/group/comp.lang.ruby/msg/b72b4a3bfd81a48e?hl=en - the above thread went a little out of control. The mostly discussed point (inherits from nil) has evolved and please focus on the essence: which is the term "metaclass" - cmd:> ri Class "Classes, modules, and objects are interrelated. In the diagram that follows, the arrows represent inheritance, and the parentheses meta-classes. All metaclasses are instances of the class `Class'." +------------------+ | | Object---->(Object) | ^ ^ ^ ^ | | | | | | | | +-----+ +---------+ | | | | | | | +-----------+ | | | | | | | +------+ | Module--->(Module) | | | ^ ^ | OtherClass-->(OtherClass) | | | | | | Class---->(Class) | ^ | | | +----------------+ - The above documentation is false. - The mentioned metaclasses like "(Class)" are not existent and not accessible whilst using standard Class/Object mechanisms. The term "metaclasses" could be exchanged with e.g. "internal representations of class definitions" or anything adequate. This is _not_ the same with a metaclass (which must be a _class_). - See the UML diagramm "TheRubyObjectModel" (V1.3) for a corrected clarifying version: http://lazaridis.com/case/lang/ruby/ - - - If I am wrong, please show me how to access the metaclass: ClassMetaClass = Class.??? ClassMetaClass. - please avoid usage of libraries, excessive code etc. We are talking about an oject-model, which should simply... exist! so, which is the cleanes and simplest way to get access to the "metaclass"? - I like to remind you, that evaluators coming from C++, Smalltalk, Java etc. are not intrested in the specialities of a language (especially if they are not necessary). The developers and the community should be capable to use standard-terminology to explain the ruby model. Otherwise: who should take you serious? .. -- http://lazaridis.com