ruby-on-rails - 如何在集合中使用 has_key?

标签 ruby-on-rails ruby ruby-on-rails-3

我有一个收藏: [一,乙,丙] 我想验证哈希是否包含此集合的某些键

我尝试:

col = [a, b, c]
my_hash = {c => 1, f => 2, h => 3}

my_hash.has_key? col
=> false

但不起作用。 谁能帮帮我?

谢谢。

最佳答案

1. 遍历 col 并检查每一个。

无需解释。

2.使用现有的库功能来做同样的事情:

keys = [:a, :b, :c]
h = { c: 1, f: 2, h: 3 }
h.any? { |key, val| keys.include? key }
=> true

3.设置数学:

h.keys & keys
=> [:c]

然后将其包装起来以返回 true/false,具体取决于您希望阅读内容的方式。

关于ruby-on-rails - 如何在集合中使用 has_key?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24919224/

相关文章:

mysql - rake db:migrate 失败并出现 Mysql2::Error: Row size Too Large

ruby - 如何编写不与 block 环境隔离的DSL?

ruby-on-rails - config.action_view.debug_rjs 将在 3.1 中删除,从 3.1 开始您将需要安装prototype-rails才能继续使用 RJS 模板

ruby-on-rails - Ruby 中的日期和时间转换

ruby-on-rails - 使用渲染后表单不起作用

ruby-on-rails - ActiveAdmin::Devise::SessionsController#create 中的 ArgumentError

ruby-on-rails - Rails 4 - 按未存储在数据库中的内容排序

ruby - grep on Hash 是什么意思?

ruby-on-rails - 根据应用程序是否在 Facebook 框架内呈现/切换布局

ruby-on-rails - 我如何找到属于特定用户的特定宠物的所有寄生虫?