我正在尝试在哈希中递增密钥.例如.我想要得到这个
{:b => "crayons", :c => "colors", :d => "apples"}
Run Code Online (Sandbox Code Playgroud)
变成这个
{:c => "crayons", :d => "colors", :e => "apples"}
Run Code Online (Sandbox Code Playgroud)
我认为这段代码可以解决问题,但事实并非如此.我需要改变什么?
def hash(correct)
mapping = correct.each{|key, element| key.next}
Hash[correct.map {|key, element| [mapping[key], element]}]
end
Run Code Online (Sandbox Code Playgroud)
运用 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"}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
126 次 |
| 最近记录: |