On Sep 11, 2006, at 1:55 PM, Rick DeNatale wrote:

> So, what's the real deal with BEGIN..END.  What it really does is to
> delimit a series of statements which are treated like an anonymous
> method which is called in place.

That's what I thought until recently, but there is a difference.  
Consider:

<code>
a = 1
begin
    a = 2
    b = 3
    p [a, b] # => [2, 3]
end
p a # => 2
p b # => 3
</code>

If the begin ... end behaved _exactly_ like an anonymous method, we  
would see:

<code>
a = 1
begin
    a = 2
    b = 3
    p [a, b] # => [2, 3]
end
p a # => 1
p b # => raises NameError
</code>

Frankly, I would be happier with the latter behavior.

Regards, Morton