1, :c => 2, ...} 到 h_after = {:b-6ren">
gpt4 book ai didi

ruby - 如何替换所有具有 '.' 的哈希键?

转载 作者:数据小太阳 更新时间:2023-10-29 08:18:31 24 4
gpt4 key购买 nike

我正在使用 Ruby on Rails 4,我想替换所有的散列键,以便从中更改散列

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

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

也就是说,我想以某种方式“解调”所有具有 . 的哈希键。我该怎么做?

最佳答案

each_with_object是一种比从答案中注入(inject)更简洁、更短的方法:

h_before.each_with_object({}){|(k, v),h| h[k.to_s.split(".").last.to_sym] = v}
=> {:bbb=>1, :c=>2}

关于ruby - 如何替换所有具有 '.' 的哈希键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20251633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com