2016-05-09 92 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,你的代碼就可以工作。

這就是說:你展示的代碼沒有多大意義。拆分然後映射而不會阻塞沒有任何意義。

你想實現什麼?