Ruby是否具有像Python一样的布尔函数?

see*_*ker 2 ruby python boolean-logic

在Python中,如果使用bool函数,我可以确定表达式求值的布尔值。例如:

bool(1)
#=> True
Run Code Online (Sandbox Code Playgroud)

Ruby中是否存在这样的构造?我似乎找不到找到这样做的证据。我目前必须使用等效测试来确定布尔值,并且想知道是否有更方便的方法来执行此操作。

Sil*_*olo 9

总有经典

!!a
Run Code Online (Sandbox Code Playgroud)

这也适用于Javascript,C ++和(使用not而不是!)Python。

请记住,Ruby与Python具有不同的真实性概念。在Python中,许多“空”对象都是虚假的,而自定义类可以通过魔术方法确定其真实性。在Ruby中,只有 nilfalse是虚假的,其他所有值(包括数字,字符串,列表和任何用户定义的类)都是真实的。