h1 = { "a" => 100, "b" => 200 }
h2 = { "b" => 254, "c" => 300 }
h1.merge(h2) do |key, old, new|
new - old
end
此代码如何工作?为什么有三个变量(key, old, new
),它们指向哪里?如果未定义old
和new
,如何从new
中减去old
?
答案 0 :(得分:3)
如果您阅读documentation,您将了解到:密钥,旧值和新值。
h1.merge(h2) { |key, old, new| new - old }
表示最终结果的值为h2[key] - h1[key]
。由于您要h2
合并h1
,因此h2
的值将为新值,h1
中的值将为旧值。