ruby-on-rails - 如何严格检查 Ruby 数组是否仅包含某些值?

标签 ruby-on-rails ruby ruby-on-rails-5

<分区>

我需要检查一个数组,看看它是否只包含另一个数组的某些值。

我可以想办法使用方法 mapselect 然后使用 includes? 遍历数组,但这会远非高效。

values = ['2','4','5'] # return true if the array only contains these values...

a = ['1', '2', '3']
b = ['1', '2', '4']
c = ['2', '4']
d = ['4', '5']

def compare(checked_array, standard)
 # Do something
end

所以,为了我的目的,输出应该是,

  • check(a, values) 会返回 false
  • check(b, values) 会返回 false
  • check(c, values) 会返回 true
  • check(d, values) 会返回 true

最佳答案

简单的减法将为您提供所需的输出,

def compare(checked_array, standard)
 (checked_array - standard).empty?
end

关于ruby-on-rails - 如何严格检查 Ruby 数组是否仅包含某些值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56867021/

相关文章:

ruby - Cocoapod : Not possible to fast-forward, 正在中止

html - Rails 5 - 显示错误消息

ruby-on-rails - Bundler 安装 - 找不到 gem "actionpack"的兼容版本 - Rails 5

ruby-on-rails - rspec 国际化测试 View ?

javascript - 向 slickgrid 行添加缩进

ruby-on-rails - 为什么 Chronic 错误地解析了四个字母的月份?

ruby-on-rails - 无法添加到购物车 rails 5

ruby-on-rails - 如何让zeus启动solr实例用于测试和开发环境?

jquery - 从 Backstretch 图像建立链接?

ruby - Selenium 滚动元素进入(中心) View