From: Gary Wright Date: 2009-05-14T13:28:05+09:00 Subject: Re: Superclass of eigenclass On May 13, 2009, at 6:20 PM, David Flanagan wrote: > On May 12, 9:29 am, Danny O cuiv wrote: >> Gary Wright wrote: >>> Confusion comes from: >>> -- the super keyword uses the method lookup chain, not thesuperclass >>> chain >>> -- the ancestor method reports on the method lookup chain, not the >>> inheritance chain > > I have to disagree with Gary's nomenclature. No problem. I just made them up for that post. > Inheritance and method > lookup are basically the same thing, so trying to distinguish "method > lookup chain" from "inheritance chain" is hard to do. But since they are only 'basically the same' and not exactly the same it is important to distinguish between them. This is more important in 1.8.X than in 1.9.X since in 1.9.X 'superclass' tracks the method lookup chain more closely. In 1.8.X 'superclass' is pretty hard to explain when you try to include singleton classes. > Maybe we can say "class hierarchy" when we want to exclude modules > as the > superclass method does and "method inheritance chain" (or something) > when we want to include modules. I could quibble with those definitions, but my main point was that 'ancestors' doesn't match the 'superclass chain' (because of modules) nor does it always match the 'method lookup chain' (because of eigenclasses). Gary Wright