------ art_6265_24954827.1151727561220 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi Ezra. You've got it wrong. The point is that though a method that is defined outside of any class becomes automatically part of Object, it can't be called with exact receiver because the method is *private*. In other words, # foo is private method of Object def foo .. end class Bar; end # This is okay, because I'm calling self.foo and we do not # need to state self as receiver. foo # This is completely wrong. Private method can't be called # with exact receiver. Bar.new.foo Hope this helps. Sincerely, Minkoo Seo On 7/1/06, Ezra Zygmuntowicz <ezmobius / gmail.com> wrote: > > > On Jun 30, 2006, at 7:10 PM, Minkoo Seo wrote: > > > Hi list. > > > > I've recently learned that irb and ruby (ruby interpreter) behave > > differently often > > and that irb is not running on ruby interpreter. > > > > As an example, > > > > [mkseo@uranus src]$ irb > > irb(main):001:0> def foo > > irb(main):002:1> puts "foo" > > irb(main):003:1> end > >