From: Sean O'Halpin Date: 2007-11-21T07:17:02+09:00 Subject: Re: Where's A? On Nov 20, 2007 1:53 PM, Trans wrote: > This doesn't seem right to me: > > irb(main):001:0> module X > irb(main):002:1> module A; end > irb(main):003:1> end > => nil > irb(main):004:0> class Q > irb(main):005:1> include X > irb(main):006:1> p A > irb(main):007:1> class Y > irb(main):008:2> class Z < A > irb(main):009:3> end > irb(main):010:2> end > irb(main):011:1> end > X::A > NameError: uninitialized constant Q::Y::A > from (irb):8 > > If I recall correctly, 1.9 has some changes to constant lookup rules. > Is the above fixed in 1.9? > > Thanks, > T. > Hi Trans, I'm not sure I understand what you expect. In the following example: class A end module Outer module X class A # you meant 'class' didn't you? ;) end end class A end class Q include X class Y p A class Z < A # which A do you want? end # this seems reasonable to me... class XZ < X::A end end end end which A should Z be a subclass of? Regards, Sean