【发布时间】:2014-09-08 20:01:20
【问题描述】:
如何根据原始键名重命名 Ruby 哈希中的所有键,例如,为所有键添加前缀?
hash = { foo: "bar", test: "blah", hello: "world" }
# do something to `hash`
=> { pre_foo: "bar", pre_test: "blah", pre_hello: "world" }
我会使用Hash#map 或类似的东西吗?
我在“How to change all the keys of a hash by a new set of given keys?”的帮助下得到了一些帮助,修改它以访问当前密钥:
Hash[hash.map {|k, v| ["pre_#{k}".to_sym, v] }]
有没有更好的办法?
【问题讨论】:
-
不要重命名它们,创建一个新的哈希。