可能重复:
Comparing ruby hashes
如何比较两个哈希值并仅在名称匹配正确时显示。
element1 = {:name => "Original", :description => "The original one!"}
element2 = {:name => "Original", :description => ""}
答案 0 :(得分:2)
如果您想要反向差异,那么您可以试试这个。
class Hash
def in_both(other)
self.keys.inject({}) do |memo, key|
memo[key] = self[key] if self[key] == other[key]
memo
end
end
end
> element1.in_both(element2)
=> {:name=>"Original"}
或更短的
element1.select{|k,v| element2[k]==v}
答案 1 :(得分:0)
我不知道这是否是您正在寻找的
element1[:name] == element2[:name]
或者更具体一点,请。