使用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}]
- Rails 3.2 + MySQL:错误:字段’created_at’没有默认值:INSERT INTO
- Ruby新的独特嵌套数组项数组
- 重新打开IO流与仅使用新流
- 使用Closure_tree gem而不是Awesome嵌套集
- 缓存在路轨的俄国玩偶
- Ruby – 不会将文件加载到数组中
- 在Ruby on Rails中,’#encoding:utf-8’和’config.encoding =“utf-8”’有什么不同?
- connect:SSL_connect返回= 1 errno = 0 state = SSLv3读取服务器证书B:证书validation失败(OpenSSL :: SSL :: SSLError)
- 在Ruby中实现to_int和to_str的后果