我好像找不到任何地方说要这么做。
假设我有一个hash{"23"=>[0,3]}并且我想合并到这个hash{"23"=>[2,3]}中,从而得到这个hash{"23"=>[0,2,3]}
或者将{"23"=>[3]}{"23"=>0}合并得到{"23"=>[0,3]}
谢谢!

最佳答案

{ "23" => [0,3] }.merge({ "23" => [2,3] }) do |key, oldval, newval|
  oldval | newval
end
#=> {"23"=>[0, 3, 2]}

处理非数组值的更通用方法:
{ "23" => [0,3] }.merge({ "23" => [2,3] }) do |key, oldval, newval|
  (newval.is_a?(Array) ? (oldval + newval) : (oldval << newval)).uniq
end

更新了马克·安德烈·拉福琼的提示。

关于ruby - 将ruby哈希与值数组合并到另一个哈希与值数组中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11171834/

10-12 12:28
查看更多