gpt4 book ai didi

Ruby:转换哈希键

转载 作者:行者123 更新时间:2023-12-01 15:00:11 25 4
gpt4 key购买 nike

我有一个哈希:

urls = [{'logs' => 'foo'},{'notifications' => 'bar'}]

目标是为键添加前缀:

urls = [{'example.com/logs' => 'foo'},{'example.com/notifications' => 'bar'}]

我的尝试:

urls.map {|e| e.keys.map { |k| "example.com#{k}" }}

然后我得到一个包含所需形式的键的数组,但我该如何操作原始散列?

最佳答案

如果你想“手动”转换键,那么你可以先遍历你的哈希数组,然后在每个对象(每个哈希)上将它们的值映射到一个哈希,其中键被插入“example.com/",值保持不变:

urls.flat_map { |hash| hash.map { |key, value| { "example.com/#{key}" => value } } }
# [{"example.com/logs"=>"foo"}, {"example.com/notifications"=>"bar"}]

注意 url 正在“平面映射”,否则你会得到一个包含哈希/es 的数组数组。

如果你想简化它,你可以使用内置的方法来转换 Ruby 拥有的散列中的键; Hash#transform_keys :

urls.map { |url| url.transform_keys { |key| "example.com/#{key}" } }
# [{"example.com/logs"=>"foo"}, {"example.com/notifications"=>"bar"}]

关于Ruby:转换哈希键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60097854/

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