我有一个哈希{:a => b}我希望为该键添加一个值,并将其转换为保留前一个键的值数组。
结果将是{:a => [b,c]}
有没有比迭代哈希更好的方法呢?
答案 0 :(得分:4)
试试这个。
h = {a: b}
h[:a] = ((a[:a].is_a? Array) ? a[:a] : [a[:a]]) << c
答案 1 :(得分:0)
简单的解决方案是创建一个Hash of Arrays:
h = {}
h[:a] = []
h[:a].push(b)
h[:a].push(c)
我的意思是:即使只有一个值使用数组。这使处理更容易。