"colors", :d => "apples"} 变成这样 {:c => "crayons", :-6ren">
gpt4 book ai didi

ruby - Ruby 哈希的增量

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

我正在尝试递增哈希中的键。例如。我正在努力得到这个

{:b => "crayons", :c => "colors", :d => "apples"} 

变成这样

{:c => "crayons", :d => "colors", :e => "apples"} 

我认为这段代码可以解决问题,但事实并非如此。我需要更改什么?

def hash(correct)
mapping = correct.each{|key, element| key.next}
Hash[correct.map {|key, element| [mapping[key], element]}]
end

最佳答案

使用Enumerable#each_with_object

def hash_correct(hsh)
hsh.each_with_object({}) { |(k,v), hsh| hsh[k.succ] = v }
end

hash_correct({:b => "crayons", :c => "colors", :d => "apples"})
# => {:c=>"crayons", :d=>"colors", :e=>"apples"}

关于ruby - Ruby 哈希的增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23772292/

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