【发布时间】:2018-10-16 22:55:36
【问题描述】:
我想用value.some_method 替换散列中的每个value。
例如,给定一个简单的哈希:
{"a" => "b", "c" => "d"}`
每个值都应该是.upcased,所以看起来像:
{"a" => "B", "c" => "D"}
我尝试了#collect 和#map,但总是只取回数组。有没有优雅的方法来做到这一点?
更新
该死,我忘记了:哈希在一个不应更改的实例变量中。我需要一个具有更改值的新哈希,但不希望显式定义该变量,然后遍历填充它的哈希。比如:
new_hash = hash.magic{ ... }
【问题讨论】:
-
我回答中的第二个示例返回一个新的哈希值。如果你想让我扩展#inject 正在做的魔法,请评论它。