From: Joshua Ballanco Date: 2009-12-23T14:39:13+09:00 Subject: Re: newbie: if is not null else... On Dec 22, 2009, at 5:55 AM, Giampiero Zanchi wrote: > ciao > waiting for a confirmation from the forum guys... > > since nil is false in Ruby > > x = a_value if x.nil? > equals > x = a_value if x == false > and also > x = a_value unless x > or > x ||= a_value Not exactly... >> x = nil => nil >> x.nil? => true >> x == false => false >> puts "Hi!" unless x Hi! => nil >> x = false => false >> x.nil? => false >> x == false => true >> puts "Hi!" unless x Hi! => nil false and nil both evaluate to false in conditionals, everything else (including 0) evaluates to true. However, "x == false" is asking if x is exactly false. For fun, try "p false.class"... Cheers, Josh