2011-05-30 147 views
0

可能重複:
Comparing ruby hashes比較2個散列紅寶石

我如何比較兩個哈希並只顯示名稱是否正確匹配。

element1 = {:name => "Original", :description => "The original one!"} 
element2 = {:name => "Original", :description => ""} 
+1

能否請您補充一點,你應該得到給出的兩個散列輸出的例子嗎? – robertodecurnex 2011-05-30 14:39:52

回答

0

我不知道如果這是你在找什麼

element1[:name] == element2[:name] 

或者更具體的,請。

2

如果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}