Re: [ruby-talk:02062] Re: Anonymous and Singleton Classes Matz, thanks for explaining this stuff to me, I'm sure that you must have explained it enough before. > Hmm, there was discussion about this matter before, without explicit > conclusion. Let's talk it again. What should we call `class <<obj' > statement? As it contains the keyword 'class' I think that it will be difficult to try and hide the fact that it is a class type operation. I spent a lot of time worrying about what wasn't being said and what was hinted at, FAQ 6.6's use of 'anonymous class' suggests parallels with Class::new() and the description of super() in the FAQ talks of calling the method in the superclass which suggests an inheritance relationship. I think that 'singleton class' is fine, I just needed more help in coming to terms with something that was so unfamiliar. I am used to modifying the behaviour of objects of the same class by supplying different parameters/attributes, not by overriding complete operations. Overriding to me feels like an inheritance thing. >I'm not sure how much I should describe implementation details. >Conceptually, a class inherits singleton methods also from its >superclass. That's all. > >In current implementation, they are done by internal hidden class >called `singleton class', which is real class of classes. You can >consider this hidden class a metaclass. Better description is welcome. That's fine by me. I just got curious and a little confused when you talked about the class of a class being a metaclass when MyClass.type returned Class. It took me a while to make the connection with the effects of adding singleton methods or creating a singleton class. > def Class.inherited(c) > ... > end > >defines a class method of Class, which is shared by subclasses of >Class. C1 is a instance of Class, but not a subclass of Class. So you >should have > > class Class > def inherited(c) # override default `inherited' > ... > end > end Sorry about this one. I realised what was going on shortly after posting the message. > By the way, how many times did I type `class' in this mail? :-) > > matz. I know how you feel. .../Bob ----------------------------------------------------------------- Visit our Internet site at http://www.reuters.com Any views expressed in this message are those of the individual sender, except where the sender specifically states them to be the views of Reuters Ltd.