Ruby 将每条_线推入阵列不工作
我对Ruby有个奇怪的问题。我想从文件中读取数据,然后将数据放入数组中。 奇怪的是,它在另一个脚本中工作,基本上是一样的Ruby 将每条_线推入阵列不工作,ruby,arrays,push,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] 我从中得到的只是一个数组,其中有一个元素,整个文本文件都在
quoteArray = []
quoteFile = File.new("quotes.txt", "r") or die "Unable to open file..."
quoteFile.each_line { |line| quoteArray.push line }
puts quoteArray[0]
我从中得到的只是一个数组,其中有一个元素,整个文本文件都在其中。发生了什么?这是我的机器吗?文本文件?有什么想法吗
提前感谢您正在打印
quotaray[0]
。尝试打印quotaray。检查并查看得到的结果。您正在打印quotarray[0]
。试着打印quotaray。检查一下,看看你得到了什么。它对我很好。请确保您的文本文件中有多行,而不仅仅是一行。它对我来说很好。确保文本文件中有多行,而不仅仅是一行。是否打印块中的行变量?每行。如果你看到一些数据,你的文件就可以了。我不明白你的意思。请您描述得更详细一点好吗?您是否已打印了块中的行变量#每行#。如果你看到一些数据,你的文件就可以了。我不明白你的意思。请你再描述一下好吗?因为我不确定我的文件是否足够有效,所以我已经上传了,这样你可以自己看一下。您的文本文件没有换行符,而是有回车符。这就是为什么它在一行中获取整个文件内容的原因。我看到康斯坦丁的解决方案解决了这个问题:)因为我不确定我的文件是否足够有效,所以我上传了它,这样你就可以自己看一看了。您的文本文件没有换行符,而是有回车符。这就是为什么它在一行中获取整个文件内容的原因。我看到Konstantin的解决方案解决了这个问题:)请给我一个长字符串,其中包含一些\r。我想这和错误的行尾有关。你知道我现在应该做什么吗?给我一根长的绳子,里面有一些。我想这和错误的行尾有关。你知道我现在该做什么吗?很简单,很直接。非常感谢你!如此简单和直接。非常感谢你!
quoteFile = File.read("quotes.txt").gsub(/\n?\r/, "\n").lines.to_a