我在ruby中有这样的数组(文档语言[偶数索引]和单词数[奇数索引])
words = ["en",200,"ru","120","es",140,"ru",240]
Run Code Online (Sandbox Code Playgroud)
最终结果应如下所示:
{"en"=>200,"ru=>360","es"=>140}
Run Code Online (Sandbox Code Playgroud)
啊,你需要总结重复的密钥.所以,这个Hash::[]方法在这里不起作用.没问题,请使用each_slice+ each_with_object然后:
words = ["en",200,"ru","120","es",140,"ru",240]
hash = words.each_slice(2).each_with_object({}) do |(k, v), memo|
memo[k] ||= 0
memo[k] += v.to_i
end
hash # => {"en"=>200, "ru"=>360, "es"=>140}
Run Code Online (Sandbox Code Playgroud)