Mark Volkmann wrote:
> I understand that methods defined at the top-level, not in any class,
> become methods of the class Object. Pickaxe 2 says in its discussion
> of the top-level environment (page 293 in my paper copy) "we're
> actually creating (private) instance methods for class Object". I
> think the "(private)" part is wrong because I can invoke top-level
> methods using a receiver, which I shouldn't be able to do for private
> methods.
> 
> Here's an example.
> 
> def foo; puts 'in foo'; end
> class Bar; end
> bar = Bar.new
> bar.foo
> 
> Am I misunderstanding this?
> 

Don't you get an error when you call bar.foo?

$ ruby -e "
def foo; puts 'in foo'; end
class Bar; end
bar = Bar.new
bar.foo
"
-e:5: private method `foo' called for #<Bar:0xb7dcccec> (NoMethodError)

-- 
      vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407