将each_line推入数组不起作用

时间:2010-06-08 09:01:14

标签: ruby arrays push

我对Ruby有一个奇怪的问题。我想从文件中读取数据,然后将数据放入数组中。 奇怪的是,它在另一个基本相同的脚本中工作。

quoteArray = []
quoteFile = File.new("quotes.txt", "r") or die "Unable to open file..."
quoteFile.each_line { |line| quoteArray.push line }
puts quoteArray[0]

我得到的只是一个数组,其中包含整个文本文件所在的一个元素。出了什么问题?是我的机器吗?文字文件?有什么想法吗?

提前致谢

3 个答案:

答案 0 :(得分:3)

quoteFile = File.read("quotes.txt").gsub(/\n?\r/, "\n").lines.to_a

答案 1 :(得分:0)

您正在打印quoteArray[0]。尝试打印quoteArray.inspect,看看你得到了什么。

答案 2 :(得分:0)

对我来说很好。确保文本文件中包含多行,而不只是一行。