使用Ruby中的集合比较两个哈希数组

在此之后我试图比较两个哈希数组:

db = [ {:foo => "bar", :stack => "overflow", :num => 0.5}, {:foo => "bar", :stack => "underlow", :num => 0.5}, {:foo => "bar", :stack => "overflow", :num => 0.1} ] csv = [ {:foo => "bar", :stack => "overflow", :num => 0.5}, {:foo => "bar", :stack => "underlow", :num => 0.1}, ] 

我正在尝试使用Ruby Set( db_set = Set[db]csv_set = Set[csv] )来比较两者-db_set - csv_set )和&db_set & csv_set )但这些似乎没有执行比较操作。

我误解了Set的用法吗? 我如何比较这两个哈希数组?

这里不需要使用套装。 似乎你对数组运算符很好。

 db = [ {:foo => "bar", :stack => "overflow", :num => 0.5}, {:foo => "bar", :stack => "underlow", :num => 0.5}, {:foo => "bar", :stack => "overflow", :num => 0.1} ] csv = [ {:foo => "bar", :stack => "overflow", :num => 0.5}, {:foo => "bar", :stack => "underlow", :num => 0.1}, ] db - csv # => [{:foo=>"bar", :stack=>"underlow", :num=>0.5}, {:foo=>"bar", :stack=>"overflow", :num=>0.1}] db & csv # => [{:foo=>"bar", :stack=>"overflow", :num=>0.5}]