From: Christian Neukirchen Date: 2005-06-10T00:39:30+09:00 Subject: Re: Order of operations Jack Christensen writes: > 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 Not that I know of, but note that "||" is like "or" with different precedence: irb(main):001:0> a = nil || 1 => 1 irb(main):002:0> a => 1 -- Christian Neukirchen http://chneukirchen.org