ruby - 如何使用 Ruby 压缩语句中的多个相同条件?

标签 ruby

这是我做的:

output = "xyz"
result = false

unless output == "" || output.nil? || output == "{}" || result == true
  puts 'execute this command'
end

如果在 Ruby 中有类似的 || 条件,那么缩小上述语句的最简单格式是什么

最佳答案

在 Ruby 2.5 及更高版本中,您可以使用 #any?这样:

['', nil, '{}'].any?(output) || result

p ['', nil, '{}'].any?('')   # true
p ['', nil, '{}'].any?(nil)  # true
p ['', nil, '{}'].any?('{}') # true

否则,你可以使用 block

['', nil, '{}'].any? { |e| e == output }

关于ruby - 如何使用 Ruby 压缩语句中的多个相同条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58435793/

相关文章:

Ruby - 结构和命名参数继承

ruby - 如何根据ruby中的特定列表对结果进行排序

ruby 正则表达式提取单引号之间的单词

mysql - Rails 种子在 db :seed 时未在数据库中创建实例

ruby - 改进仅适用于实例方法吗?

ruby - 使用模板生成动态 CSS

Ruby Net::SSH 使用变量插值更改目录

ruby - 用完 Net::HTTP 的套接字连接

mysql - 无法安装以前版本的 Sphinx

Ruby 字符串剥离定义的字符