如何获取三个哈希值并将它们合并为一个哈希值,以便在密钥是常见的情况下,它会添加值,并且在密钥是唯一的情况下,它只会将键/值对添加到最终加入的哈希?事情是这样的:如何将三个红宝石哈希合并为一个,添加常用密钥的值?
r1 = { "Flour" => 500, "Cheese" => 1500, "Tomato Sauce" => 700 }
r2 = { "Bread" => 300, "Cheese" => 600, "Butter" => 450 }
r3 = { "Cheese" => 900, "Tortillas" => 250, "Flour" => 350 }
我试过.merge
,但它似乎并没有增加普通键的值......至少我做它没有一个块的方式。我也试过这个: Ruby combine hashes?
所以,也许这是可能的一个块?它是如何巩固3个散列成一个,并称重叠的,像这样的东西结局:
r_total = { "Flour" => 850, "Cheese" => 3000, "Tomato Sauce" => 700,
"Bread" => 300, "Butter" => 450, "Tortillas" => 250 }
请连同相关页面和[[mcve]]一起阅读“[问]”。我们希望看到您尝试解决这个问题,无论是通过搜索的页面,为什么他们没有帮助,还是一个演示为什么它不起作用的代码示例,以及最小的输入和输出以及码。没有这些,看起来你希望我们为你写出解决方案,这不是如何工作的。至少您可以搜索SO,其中有多个如何执行此操作的示例。 –
我试过这个:[链接](http://stackoverflow.com/questions/33897616/ruby-combine-hashes) 和这个:[link](http://stackoverflow.com/questions/28946785/ruby-combining - 基于阵列的哈希值 - 散列值) 和这个:[link](http://stackoverflow.com/questions/8994297/ruby-combine-elements-in-hash) 和这个:[链接](http://stackoverflow.com/questions/29172821/complex-ruby-array-of-hashes-combine) 和其他......但他们都没有回答我无法解释的问题如何做自己。 截至目前,有两个答案完美地完成,并且不同于我在SO上发现的任何其他答案。 – Hoonta
请编辑您的问题,并将“链接”移到问题的正文中,这样每个人都可以轻松阅读,而无需阅读每条评论。重要的是要明白,除了现在帮助你之外,你问的一个问题是在未来帮助其他人。这就是为什么我们对问题的内容太挑剔。 –