Yukihiro Matsumoto wrote:
> |1. This doesn't work anymore in Ruby 1.9 and causes this error message:
> 
> It's intentional.  The colon separator was accidental, and I'd like to
> keep colon for another purpose for the future.

Ah, thanks for the clarification.

> In 1.9, the warning was caused by the better value analysis.  The line
> is essentially same as
> 
>   a = (b.shift or break)
> 
> which really is using void value.

Hmm, but if this is "true or break" it still fails. Or do you mean by 
using, that one operatand of "or" results in a void value? Wouldn't that 
break the short-circuit semantics of "or" in this case?

-- 
Florian Frank