【发布时间】:2013-02-13 09:31:54
【问题描述】:
我有一个哈希 {:a => b},我想向该键添加一个值并将其转换为保留前一个值的数组。
所以结果是 {:a => [b, c]}
有没有比遍历哈希更好的方法?
【问题讨论】:
-
否 :-) 无论如何您都必须进行迭代,那么您的问题是什么? “到达……的最短路径是什么?”?
标签: ruby-on-rails ruby ruby-on-rails-3 hash
我有一个哈希 {:a => b},我想向该键添加一个值并将其转换为保留前一个值的数组。
所以结果是 {:a => [b, c]}
有没有比遍历哈希更好的方法?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 hash
简单的解决方案是创建一个数组哈希:
h = {}
h[:a] = []
h[:a].push(b)
h[:a].push(c)
我的意思是:即使只有一个值,也要使用数组。这使得处理更容易。
【讨论】:
试试这个。
h = {a: b}
h[:a] = ((a[:a].is_a? Array) ? a[:a] : [a[:a]]) << c
【讨论】:
b 是否可能已经是一个数组。如果可能,您可能需要添加支票。