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.