On Thu, Feb 13, 2003 at 09:01:52PM +0900, ts wrote:
> >>>>> "B" == Brian Candler <B.Candler / pobox.com> writes:
> 
> B> Essentially, we have four different behaviours now
> 
>  No, there are only 2 cases. No need to give complex explanation for
>  something which is simple.
> 
>  What you call a "block parameter" don't exist, this is is *just* an
>  assigned variable : understand this and you'll understand the rules used
>  by ruby actually.

Of course you are right, but:

(1)    a=0  and  {|a| ... }
   are two different syntaxes. It just so happens that they have the
   same behaviour. I found this REALLY surprising, as |a| looks like a
   formal parameter. It was the last piece of the jigsaw to fit for me.

(2) Under the new rules, they will most definitely be different.

That's why I think it is worth explicitly enumerating all four cases.

Regards,

Brian.