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