【问题标题】:Ruby Hash Value into Array of ValuesRuby 哈希值到值数组中
【发布时间】:2013-02-13 09:31:54
【问题描述】:

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

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

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

【问题讨论】:

  • 否 :-) 无论如何您都必须进行迭代,那么您的问题是什么? “到达……的最短路径是什么?”?

标签: ruby-on-rails ruby ruby-on-rails-3 hash


【解决方案1】:

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

h = {}
h[:a] = []
h[:a].push(b)
h[:a].push(c)

我的意思是:即使只有一个值,也要使用数组。这使得处理更容易。

【讨论】:

    【解决方案2】:

    试试这个。

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

    【讨论】:

    • 最初的问题没有提到b 是否可能已经是一个数组。如果可能,您可能需要添加支票。
    猜你喜欢
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-09
    • 1970-01-01
    相关资源
    最近更新 更多