如何替换所有带有“.”的哈希键?

2024-04-24

我正在使用 Ruby on Rails 4,我想替换所有哈希键,以便将哈希值从

h_before = {:"aaa.bbb" => 1, :c => 2, ...}

to

h_after = {:bbb => 1, :c => 2, ...}

也就是说,我想以某种方式“解调”所有具有.。我怎样才能做到这一点?


每个对象 http://ruby-doc.org/core-2.0.0/Enumerable.html#method-i-each_with_object是比从答案中注入更干净、更短的方法:

h_before.each_with_object({}){|(k, v),h| h[k.to_s.split(".").last.to_sym] = v}
=> {:bbb=>1, :c=>2}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何替换所有带有“.”的哈希键? 的相关文章

随机推荐