我有以下方式的哈希:
hash = {
:k1 => number1,
:k2 => number2
}
我需要一种简单的方法将其转换为:
hash = {
:k1 => {:count => number1},
:k2 => {:count => number2}
}
所以我可以将它与其他属性合并。
答案 0 :(得分:6)
尝试类似:
hash.each {|k, v| hash[k] = {:count => v}}
或者,使用速记哈希语法:
hash.each {|k, v| hash[k] = {count: v}}
答案 1 :(得分:0)
可悲的是,Hash#map
将哈希转换为数组,而非哈希(因为map
已包含Enumerable
方法)。您最简单的选择可能是:
hash.each { |k,v| hash[k] = {:count => v} }