【发布时间】:2012-07-31 03:21:42
【问题描述】:
我正在使用 Ruby on Rails 3.2.2 和 Ruby 1.9.3。我想比较两个Hashes(A 和B),如果Hash(A)包含另一个Hash(B)的所有键/值,则返回true )。
例如,假设我有
params.inspect
# => { "action"=>"...", "controller"=>"...", "key_param1"=>"value_param1", , "key_param2"=>"value_param2", "key_param3"=>"value_param3", ... }
my_hash1.inspect
# => { "key_param1"=>"value_param1", "key_param2"=>"value_param2" }
my_hash2.inspect
# => { "key_param4"=>"value_param4", "key_param1"=>"value_param1" }
my_hash3.inspect
# => {}
然后我正在寻找一种方法(或类似的东西)来制作
params.has_same_keys_and_values_as?(my_hash1)
# => true
params.has_same_keys_and_values_as?(my_hash2)
# => false
params.has_same_keys_and_values_as?(my_hash3)
# => true
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 hash compare