On 2008-04-20, Joel VanderWerf <vjoel / path.berkeley.edu> wrote:
> Alex Shulgin wrote:
>> Hi,
>> 
>> Anyone aware of this bug?
>> 
>> $ cat expr-bug.rb
>> a = (2
>>   + 2) / 2
>> p a
>
> AFAIK not a bug. It's because parens can contain two or more 
> expressions, separated by either newlines or semicolons.
>
> x = 5
>
> a = (x+=1
>       x + 2) / 2
> p a # ==> 4
>
> #equiv to:
> a = (x+=1; x + 2) / 2
> p a # ==> 4
>
> (I'm not advocating either of the above forms, FWIW.)
>

I was wondering what that had to do with:

a = (2
+ 2) / 2

until I realized (I think), after experimenting with irb that you are
implying that the above is equivalent to:

a = (2;
+2) / 2

which is the same as 'a = (+2) / 2' -> 'a = 2/2' -> a = 1

but:

a = (2 +
2) / 2

is the same as 'a = (2 + 2) / 2' -> 'a = 4 / 2'


Is my understanding correct?

--