是否存在基于真值的"if"或"除非"的惯用Ruby方式?

AZR*_*AZR 2 ruby idioms

x if y如果z是真的我想运行,x unless y如果z是假的话.

最惯用的方法是什么?我能想到的最好的是:

x if z ? y : !y
Run Code Online (Sandbox Code Playgroud)

Joh*_*lla 6

试试这个:

x if !!y == !!z
Run Code Online (Sandbox Code Playgroud)

这是用于强制转换为布尔值的标准Ruby习惯用法.如果y并且z已经是布尔值,那么你可以简单地做:

x if y == z
Run Code Online (Sandbox Code Playgroud)