将Ruby哈希值转换为值数组



我有一个散列{:a => b},我想为该键添加一个值,并将其转换为保持前一个值的数组。

所以结果将是{:a => [b, c]}

有没有比遍历哈希更好的方法?

试试这个

h = {a: b}
h[:a] = ((a[:a].is_a? Array) ? a[:a] : [a[:a]]) << c

简单的解决方案是创建一个数组的哈希:

h = {}
h[:a] = []
h[:a].push(b)
h[:a].push(c)
我的意思是:即使只有一个值,也要使用数组。

最新更新