Jason Roelofs wrote:
> Use semicolons. I would venture to say that this isn't supposed to 
> work in 1.8 either and is fixed for 1.9
>
> a = if true; 1 else; 2; end
Actually, it is supposed to work in 1.8, Matz has added the colon some 
time ago. Another case is:

a = case 1
    when 1: :foo
    else    :bar
    end

This stops to work in 1.9, too.

That's why I am asking, if this change is intended or if it was just 
forgotten to implement this in 1.9.
> Of course, this *should* be written as:
>
> a = true ? 1 : 2
No, it was always possible to rely on the values expressions return in 
Ruby and I think it's better style for more complex expressions. This a 
major reason why I prefer Ruby to Python. Python always felt like Script 
Pascal to me (because its syntax distinguishes statements from 
expressions), while Ruby felt more like Script LISP, because it makes 
expression oriented programming possible.

-- 
Florian Frank