【发布时间】:2013-01-16 05:53:51
【问题描述】:
啊。在这里尝试弄清楚如何在 Ruby 中构建我的数组时遇到了麻烦。
所以我正在遍历一个结果,我想将类别字段添加为键并拥有它,以便如果下一行具有相同的类别,它将被放入该类别。如果没有,它会创建一个新数组并将其添加到其中。
这是我目前所拥有的。
data = Array.new
results.each do |row|
data[row.category].push row.field
end
我知道这是行不通的。我希望data[row.category] 最终成为(在循环之后)一个包含所有row.field 的数组
所以我最终得到了一个看起来像这样的数组。
[['Dogs', 5, 12, 2], ['Cats', 4, 5, 9], ['Fish', 25, 82, 23]]
所以不管我做了多少循环,如果我将它推入一个已经存在于数据中的数组中,那么它只会追加它,如果数组不存在,它会创建它然后追加它。
在 PHP 中我会这样做:
$data[$row['category']][] = $row['field']
空的 [] 表示如果没有则创建一个新数组。我如何在 Ruby 中做到这一点???
【问题讨论】:
标签: ruby arrays multidimensional-array