Jak tworzyć dynamiczną tablicę wielowymiarową w rubinie?
Mam pytanie dla początkujących rubinów dotyczące tablic wielowymiarowych.
Chcę sortować wpisy według roku i miesiąca. Chcę więc utworzyć wielowymiarową tablicę zawierającą lata -> miesiące -> wpisy miesiąca
Tak więc tablica wyglądałaby następująco:
2009 ->
08
-> Entry 1
-> Entry 2
09
-> Entry 3
2007 ->
10
-> Entry 5
Teraz mam:
@years = []
@entries.each do |entry|
timeobj = Time.parse(entry.created_at.to_s)
year = timeobj.strftime("%Y").to_i
month = timeobj.strftime("%m").to_i
tmparr = []
tmparr << {month=>entry}
@years.push(year)
@years << tmparr
end
ale kiedy próbuję iterować przez tablicę lat, otrzymuję: „niezdefiniowaną metodę` każdy 'na 2009: Fixnum ”
Próbowałem również:
@years = []
@entries.each do |entry|
timeobj = Time.parse(entry.created_at.to_s)
year = timeobj.strftime("%Y").to_i
month = timeobj.strftime("%m").to_i
@years[year][month] << entry
end