我使用下面的代码来检查一个变量是否不为零
if(discount != nil && discount != 0)
...
end
还有更好的办法吗?
我使用下面的代码来检查一个变量是否不为零
if(discount != nil && discount != 0)
...
end
还有更好的办法吗?
当前回答
unless discount.nil? || discount == 0 # ... end
其他回答
我更喜欢使用更简洁的方法:
val.to_i.zero?
如果val为nil, val.to_i将返回0,
在此之后,我们所需要做的就是检查最终值是否为零。
unless [nil, 0].include?(discount) # ... end
好的,5年过去了....
if discount.try :nonzero?
...
end
需要注意的是,try是在ActiveSupport宝石中定义的,所以在普通ruby中不可用。
if discount.nil? || discount == 0
[do something]
end
if discount and discount != 0
..
end
更新,它将为false折扣= false