0
我如何比较两个哈希并只显示名称是否正确匹配。
element1 = {:name => "Original", :description => "The original one!"}
element2 = {:name => "Original", :description => ""}
我如何比较两个哈希并只显示名称是否正确匹配。
element1 = {:name => "Original", :description => "The original one!"}
element2 = {:name => "Original", :description => ""}
我不知道如果这是你在找什么
element1[:name] == element2[:name]
或者更具体的,请。
如果diff的反转是你想要的,那么你可以试试这个。
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}
能否请您补充一点,你应该得到给出的两个散列输出的例子吗? – robertodecurnex 2011-05-30 14:39:52