在Ruby中将任何东西转换为布尔值

时间:2015-02-13 11:14:16

标签: ruby casting boolean

在irb中玩,我注意到你可以在Ruby中将任何内容转换为布尔值,例如:

2.0.0-p451 :021 > !nil
 => true

2.0.0-p451 :024 > !!3
 => true

因此,!!实际上将任何内容解析为其布尔值。有没有更清洁的方法来做到这一点?不使用!运算符。

1 个答案:

答案 0 :(得分:1)

不,!!是最干净的方式。

但是,如果您使用的是Rails,则可以查看object.present?。它会为以下所有内容返回false

false
nil
""
[]
{}

最后三个返回true !!,但会false返回present?