Forum: Ruby Execution scope of Ruby artifacts running outside of an obje

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Griff (Guest)
on 2007-03-21 17:05
(Received via mailing list)
Hi folks,

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.
unknown (Guest)
on 2007-03-21 17:31
(Received via mailing list)
Griff wrote:
> 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.
>
>
>
 From the Pickaxe, 2nd Edition, page 11:
  "Everything you manipulate is an object, and the results of those
manipulations are themselves objects."

Every single thing you use, is derived, in the end from Object, the
great-grandfather of everything Ruby. At least that is how I've
understood the Pickaxe in that regard.

On the other hand, I only hack Ruby into my keyboard, and don't hack
Ruby. ;)

Cheers

-Phil
Brian C. (Guest)
on 2007-03-21 22:53
(Received via mailing list)
On Thu, Mar 22, 2007 at 12:05:07AM +0900, Griff wrote:
> 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)
Kyle S. (Guest)
on 2007-03-21 22:57
(Received via mailing list)
Sorry, Page not found!
> There is a brief description in Pickaxe2 on page 376 (PDF page 404)
>
>


I couldn't resist.
This topic is locked and can not be replied to.