On May 25, 2008, at 20:49, Tom Verbeure wrote:

> All,
>
> The code below:
>
> m =3D 5*(
>       (1.0)

This is the cause of the unexpected behavior. =46rom what I can see, =20
Ruby is interpreting the newline after (1.0) as a statement separator. =20=

Compare:

puts 5*(
   (1.0);
   - (1.0/2.0)
)

What's actually happening is that the third line (- (1.0/2.0)) is seen =20=

as a separate statement, not as a continuation on the second line. The =20=

minus sign in the beginning of the line is interpreted as the unary =20
negation operator, not the binary (as in relating to two numbers, not =20=

one) subtraction operator.

This works, however:

puts 5*(
   (1.0) -
   (1.0/2.0)
)

A quick irb session also illustrates my point:

 >> 1.0
=3D> 1.0
 >> -1.0/2.0
=3D> -0.5
 >>
 >> 1.0 -
?> 1.0/2.0

The fact that the last prompt is "?>", not ">>" is the key point here.

Hope this helps
Mikael H=F8ilund