From: george.marrows@... (George Marrows) Date: 2004-04-14T20:04:13+09:00 Subject: Re: Two different results for Module.nesting Thanks for the very clear demonstration Christoph! This issue of lexical code nesting vs 'intuitive' class/module nesting isn't widely documented, but goes further than affecting just Module.nesting. Its tentacles tickle the corner cases for class variable and constant lookup, particularly when 'class X::Y' style declarations are used. Example for class variables: http://www.rubygarden.org/ruby?ClassVariables Example for constants: E:\>type nesting.rb class A X = 1 class B $b = self puts "class A; class B" puts X end end class A::B puts "Same class as previously? #{self == $b}" puts "class A::B" puts X end E:\>ruby -v nesting.rb ruby 1.8.1 (2004-01-27) [i386-mswin32] class A; class B 1 Same class as previously? true class A::B nesting.rb:13: uninitialized constant A::B::X (NameError) -- George