ああ。ここで、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でこれを行うにはどうすればよいですか???