¿Cómo hacer array dinámico multidimensional en ruby?
Tengo una pregunta de rubí para principiantes sobre matrices multidimensionales.
Quiero ordenar las entradas por año y mes. Así que quiero crear una matriz multidimensional que contendría años -> meses -> entradas del mes
Entonces la matriz sería como:
2009 ->
08
-> Entry 1
-> Entry 2
09
-> Entry 3
2007 ->
10
-> Entry 5
Ahora tengo:
@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
pero cuando intento recorrer la matriz de años, obtengo: "método indefinido` cada 'para 2009: Fixnum "
Intenté también:
@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