【发布时间】:2010-11-17 01:45:59
【问题描述】:
我有一个关于多维数组的 ruby 初学者问题。
我想按年和月对条目进行排序。所以我想创建一个包含年 -> 月 -> 月条目的多维数组
所以数组会是这样的:
2009 ->
08
-> Entry 1
-> Entry 2
09
-> Entry 3
2007 ->
10
-> Entry 5
现在我有:
@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
但当我尝试遍历 years 数组时,我得到:“2009:Fixnum 的未定义方法 `each'”
也试过了:
@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
【问题讨论】:
标签: ruby arrays multidimensional-array