I doubt this is the answer you're looking for, but if you use || instead
of or, the precedence is different. i.e. a = nil || 1 does what you
think it does.
Devin
Jack Christensen wrote:
> Just got bit by a little order of operations confusion.
>
> irb(main):012:0> a = nil or 1
> => 1
> irb(main):013:0> a
> => nil
> irb(main):014:0> a = (nil or 1)
> => 1
> irb(main):015:0> a
> => 1
>
> Probably old news to long time rubyists but it surprised me. Is there
> any way to get a warning or something when a statement like the above
> may not be behaving like you would think?
>
> Jack
>
>
|