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

标签 ruby performance optimization

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

def some_method
 first_var || second_var || false
end

如果有的话,避免这种情况的最佳方法是什么?我希望它保持紧凑和高效。我的猜测是,这已经是最好的了,但在脑海深处有一些东西一直在说一定有更好的方法。

最佳答案

如果你不想添加|| false,但又不想返回nil,可以这样做:

def some_method
  !!(first_var || second_var)
end

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

!!true
# => true
!!false
# => false
!!nil
# => false

关于Ruby:避免多个 "or"语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23368643/

相关文章:

ruby-on-rails - ruby rails : Converting "SomeWordHere" to "some word here"

ruby - 使用ruby以不同大小的 block 读取二进制文件

ruby - 为什么 Ruby 无法验证 SSL 证书?

php - 频繁使用网站的缓存策略

C# 优化 - 数组/值类型列表和堆栈(游戏)

ruby - 猴子修补 : Does define_method take precedence over bind?

performance - Haskell 和 C++ 之间的 Coin Change 性能差异

powershell - 排序对象 -inputObject

node.js - ldapjs(使用node-express)client.search很慢

通过传递错误代码进行 C (C89) 优化