Tengo una pregunta de principiante Ruby sobre arreglos multidimensionales.¿Cómo hacer una matriz multidimensional dinámica en ruby?
Quiero ordenar las entradas por año y mes. Así que quiero crear una matriz multidimensional que contendría años -> meses -> entradas de meses
así que la matriz serían 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 para iterar a través de la matriz de años, me sale: "método no definido` cada uno' para el año 2009: Fixnum"
Probamos 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
Gracias por la iluminarme . – jussi
De nada. Mire la respuesta de Michael_Sepcot para saber cómo hacerlo de una manera más _rubyish_. –
¡Gracias! Finalmente entiendo esto –