From: Paul Brannan Date: 2002-01-30T11:38:48+09:00 Subject: Re: strange behavior On Wed, Jan 30, 2002 at 08:56:07AM +0900, Yukihiro Matsumoto wrote: > Visible constants are: > > * constants defined in the class/module. > * constants defined in the outer class/module. > * constants defined in the ancestors. If a constant is visible in an outer class, is there a good reason for having that constant not be visible in the inner class? (as in the original example) Additionally, if a constant is visible in an ancestor, is there a good reason for having that constant not be visible in the descendant class? (as in the following example) module A Foo = 42 module B puts Foo end end module C include A::B puts Foo end Your explanation makes sense, but I question whether or not it is the desirable effect. Paul