Ruby:避免多个"或"语句?

T14*_*145 1 ruby optimization performance

我有几个代码段,有几个分组的"或"条件,如下所示:

def some_method
 first_var || second_var || false
end
Run Code Online (Sandbox Code Playgroud)

如果有的话,避免这种情况的最佳方法是什么?我希望它保持紧凑和高效.我的猜测是,这是一样好,但是在脑海中有一些东西一直在说必须有更好的方法.

Uri*_*ssi 5

如果您不想添加|| false,但不想nil返回,则可以执行以下操作:

def some_method
  !!(first_var || second_var)
end
Run Code Online (Sandbox Code Playgroud)

这样,如果返回值(first_var || second_var)nil一个false将被退回:

!!true
# => true
!!false
# => false
!!nil
# => false
Run Code Online (Sandbox Code Playgroud)