我在找一个简明的方式来检查一个值是否等于零或零。

if (!val || val == 0)
  # Is nil or zero
end

但这看起来非常笨拙。

答案

对象有一个*零?*方法

if val.nil? || val == 0
  [do something]
end

或者,仅针对一条指令:

[do something] if val.nil? || val == 0

来自: stackoverflow.com