2016-05-09 55 views
-2

我在做一个赋值,我需要从input.txt中取值并打印出来,所以我认为最好的方法是将值存储到数组中。但是,每当我尝试访问多维数组时,我都会收到错误。尝试打印出多维数组时出错 - Ruby

代码:

a = [] 
File.open("input.txt") do |f| 

    f.each_line do |line| 
    a << line.split.map 
    end 
end 
puts "#{a[0][1]}" 

input.txt的文件:

2015-02-01 S MR 
2015-02-02 S MR 
2015-02-03 L LP 
2015-02-05 S LP 
2015-02-06 S MR 
2015-02-06 L LP 

错误,我得到:error_screenshot

但是,如果我只是打印出整个阵列就像

puts a.inspect

我得到这个:

everything_seems_working_right_here


在哪里的问题?

+2

你有意使用'.map'吗?没有'.map'它可能会起作用。看起来好像您可能已经计划对每个数组元素执行一些其他操作,但没有将一个块传递给'.map'来定义该操作应该是什么。 –

+0

@MichaelBerkowski我真的不知道,只是偶然发现了一些在stackoverflow中的代码并复制它。顺便说一句,它现在的作品 – Simonas

+0

您创建了一个枚举数组。您应该仔细阅读'.map'的文档。 “ – lurker

回答

1

map没有块将返回Enumerator。只需删除map,你的代码就可以工作。

这就是说:你展示的代码没有多大意义。拆分然后映射而不会阻塞没有任何意义。

你想实现什么?