在 Ruby 中将任何内容转换为布尔值
Converting anything to a boolean in Ruby
玩 irb,我注意到你可以在 Ruby 中将任何东西转换为布尔值,例如:
2.0.0-p451 :021 > !nil
=> true
2.0.0-p451 :024 > !!3
=> true
所以实际上,!!
将任何内容解析为其布尔值。有没有更清洁的方法来做到这一点?不使用 !
运算符。
不,!!
是最干净的方法。
但是,如果您在 Rails,您可以查看 object.present?
。它 returns false
用于以下所有内容:
false
nil
""
[]
{}
最后三个 return true
与 !!
但将 return false
与 present?
.
玩 irb,我注意到你可以在 Ruby 中将任何东西转换为布尔值,例如:
2.0.0-p451 :021 > !nil
=> true
2.0.0-p451 :024 > !!3
=> true
所以实际上,!!
将任何内容解析为其布尔值。有没有更清洁的方法来做到这一点?不使用 !
运算符。
不,!!
是最干净的方法。
但是,如果您在 Rails,您可以查看 object.present?
。它 returns false
用于以下所有内容:
false
nil
""
[]
{}
最后三个 return true
与 !!
但将 return false
与 present?
.