From: ts Date: 2003-12-07T00:31:30+09:00 Subject: Re: mixins and extend (was: Attempted roadmap of future instance variables....) >>>>> "T" == T Onoma writes: T> Can anyone take a look at this and tell me what the hek is happening with T> extend? (as in Pickaxe Chapter 19) Well, I've not understood your problem. To simplify : by default (because it's possible to redefine what do ruby) an extend can be seen as an include in the singleton class. For your example >> c = C.new >> def c.happy; print "M"; super if defined?(super); end [...] >> singleton: Mx [C, Object, Kernel] >> >> Notice in the singleton that "M" is invisible, but it does in fact exist >> anonymously before C. M is not invisible : it just don't exist. You have just defined a method #happy for `c', like the module M define a method #happy Guy Decoux