我如何将values
分配给多维数组,以便我可以通过索引访问每个值?
page = Nokogiri::HTML(open(url))
rows = page.css('table tr td')
times = rows.length - 16
rows[0..times].each { |row|
values = row.text.gsub(/\r\n?/, "").strip
#assign to array so I could access array[0] or array[6]
}
end
此外,是否可以访问.each块之外的数组?在结束puts values
之前,我唯一可以做的就是}
。
我对红宝石很新,所以我很抱歉我的无知。
答案 0 :(得分:0)
使用map
:
array = rows[0..times].map do |row|
row.text.gsub(/\r\n?/, "").strip
end
这将从块的返回值中构建一个新数组,该数组在输入数组的每个元素上调用。
答案 1 :(得分:0)
您可以使用Enumerable#map
执行以下操作:
为枚举中的每个元素返回一个新数组,其中包含一次运行块的结果。
array = rows[0..times].map { |row| row.text.gsub(/\r\n?/, "").strip }