On Nov 9, 2007 6:06 PM, Greg Weeks <gregweeks / shaw.ca> wrote:
> The ruby top-level 'self' seems like a strange beast.  It is an instance
> of Object.  But definitions of methods, modules, classes, and constants
> magically go into the Object class.  (So say the reflection methods.)
>
> (In "irb" the methods are public.  In "ruby" they are private.)
>
> Can this be understood as less magical?

Maybe.  Ruby simply has two separate notions of "current object"
(self), and "current class" (the thing which receives method
definitions).  This might help:

  http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/228855

Regards,
George.