Так что я не понимаю, почему при печати var Он печатает список из 50 элементов бесконечно. Я парень Java, поэтому, возможно, я что-то упустил. Я пытаюсь получить список строк по строкам и прочитать их в массиве. Хотите отсортировать их после, но не можете пройти мимо бесконечного цикла элементов списка.ruby help отладка с бесконечным циклом от ввода текстового файла
puts "Hello, Ruby!";
#Declare variable for list
var1 = [50]
#Read in words
#opening file
count = 0;
while count < 50
File.open("text.txt", "r") do |f|
f.each_line do |line|
var1[count] = line
count += 1
end
end
puts "hey guys"
puts var1
end
Ничего. Код работает очень хорошо, мой список должен начинаться с 49. – MrTumble
Обратите внимание, что 'var1 = [50]' не создает массив длиной 50 в ruby, он создает массив с одним элементом в нем, и этот элемент является Fixnum 50 Как упоминает @tadman, вам нужно всего лишь сделать var1 = [] 'as: []' является псевдонимом для Array.new, но никто не использует это, кроме случаев, когда они хотят передать args в .new. Вы можете указать длину при использовании .new, но редко приходится это делать. – kernelsmith