On Fri, Feb 29, 2008 at 02:17:33AM +0900, Paul Brannan wrote:
> This seems peculiar to me:
> 
> cout@bean:~/tmp$ ruby -e 'module M; FOO = 42; end; class Foo; include M; end; p Foo.const_defined?(:FOO)'
> false
> cout@bean:~/tmp$ ruby -e 'Kernel.const_set(:FOO, 42); p Object.const_defined?(:FOO)'
> true
> cout@bean:~/tmp$ ruby -e 'Kernel.const_set(:FOO, 42); p Class.const_defined?(:FOO)'
> false
> 
> Is there a reason for this behavior?

% ruby -e 'p Object.ancestors'
[Object, Kernel]
%

Kernel is included by Object.

> Paul
--Greg