Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 将每条_线推入阵列不工作_Ruby_Arrays_Push - Fatal编程技术网

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] 我从中得到的只是一个数组,其中有一个元素,整个文本文件都在

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

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