On Thu, Mar 22, 2007 at 12:05:07AM +0900, Griff wrote:
> What is the scope of execution of a plain old Ruby script?
> 
> For example, if you write a script that does not define any classes
> and you use reflection to get the current class, you discover that it
> is "Object".
> 
> Eg on Windows:
> 
> echo puts "#{self.class}" > temp.rb
> ruby temp.rb
> Object
> 
> I am interested in where this behavior is defined. I didn't see any
> mention of this in the Pickaxe2 book, but I could have overlooked it.

This top-level object is called "main" (try puts self.inspect, or indeed
look at the prompt which irb gives)

There is a brief description in Pickaxe2 on page 376 (PDF page 404)