Possible Duplicate:
Difference between “and” and && in Ruby?
Ruby: difference between || and 'or'
I had this code (something like this)
foo = nil or 4
where I wanted foo to be either the first value (could be nil), or a default 4. When I tested in irb, the output was what I expected it to be. Silly me, I didn't check the value of foo later. After a while, I started noticing some errors in my code, and I didn't find the problem until I DID check the value of foo back in irb, which was, oh surprise, nil instead of the expected 4.
What's the story about or vs ||? Are they supposed to work as replacements? Are there some caveats on using or instead of ||?