From: Gunnar Date: 2005-12-26T17:32:52+09:00 Subject: Re: [EVALUATION] - E05 - Ruby 1.8.4 ri class documentation Ilias Lazaridis wrote: > Antonio Cangiano wrote: > >> Ilias Lazaridis wrote: >> >>> can someone please post the output of "ri class", thus I can verify >>> if something has changed? >> >> >> >> ----------------------------------------------------------- Object#class >> obj.class => class >> ------------------------------------------------------------------------ > > [...] > > Thanks - and my apologies! > > This seems to be case sensitive. > > ri Class (with upper case "C") should bring up another documentation. > > may one can post this? > > . > Hello This is my output to ri Class -------------------------------------------------- Class: Class < Module Classes in Ruby are first-class objects---each is an instance of class +Class+. When a new class is created (typically using +class Name ... end+), an object of type +Class+ is created and assigned to a global constant (+Name+ in this case). When +Name.new+ is called to create a new object, the +new+ method in +Class+ is run by default. This can be demonstrated by overriding +new+ in +Class+: class Class alias oldNew new def new(*args) print "Creating a new ", self.name, "\n" oldNew(*args) end end class Name end n = Name.new _produces:_ Creating a new Name Classes, modules, and objects are interrelated. In the diagram that follows, the vertical arrows represent inheritance, and the parentheses meta-classes. All metaclasses are instances of the class `Class'. +------------------+ | | Object---->(Object) | ^ ^ ^ ^ | | | | | | | | +-----+ +---------+ | | | | | | | +-----------+ | | | | | | | +------+ | Module--->(Module) | | | ^ ^ | OtherClass-->(OtherClass) | | | | | | Class---->(Class) | ^ | | | +----------------+ ------------------------------------------------------------------------ Class methods: -------------- new Instance methods: ----------------- allocate, inherited, new, superclass Regards Gunnar