这是我的代码,我尝试创建一个带有标题的散列作为键和带有值的散列数组,但结果不会在循环后保留数据,相反,结果[key]起作用normaly。在奇怪的行为循环中创建一个散列
def programacao
result = Hash.new([])
header = nil
csv_each_for(file_to('programacao/9')).each do |row|
next if row[0].nil?
if row[0].start_with?('#')
header = row[0]
next
end
# puts "HEADER #{header}/ROW: #{row[0]}"
result[header] << ({
horario: row[0],
evento: row[1],
tema: row[2],
palestante: row[3],
instituicao: row[4],
local: row[5]
})
binding.pry
end
result
end
第一次迭代:
[1] pry(#<Programacao>)> result
=> {}
但导致[读者]
[3] pry(#<Programacao>)> result[header]
=> [{:horario=>"09:00 - 9:50",
:evento=>"Palestra",
:tema=>"Reforma da Previdência",
:palestante=>"Dr. Álvaro Mattos Cunha Neto",
:instituicao=>"Advogado - Presidente da Comissão de Direito Previdenciário",
:local=>"OAB"}]
第二次迭代:
[1] pry(#<Programacao>)> result
=> {}
标准钢厂普通
[2] pry(#<Programacao>)> result[header]
=> [{:horario=>"09:00 - 9:50",
:evento=>"Palestra",
:tema=>"Reforma da Previdência",
:palestante=>"Dr. Álvaro Mattos Cunha Neto",
:instituicao=>"Advogado - Presidente da Comissão de Direito Previdenciário",
:local=>"OAB"},
{:horario=>"9:00 -10:00", :evento=>"Solenidade de abertura do Estande", :tema=>nil, :palestante=>"Direção/Coordenações", :instituicao=>nil, :local=>"Faculdade Católica do Tocantins"}]
我的错误在哪里?
你能分享你的csv吗? –