Donc, je ne comprends pas pourquoi quand j'imprime var Il imprime la liste des 50 éléments infiniment. Je suis un gars de Java alors peut-être qu'il me manque quelque chose. J'essaie d'obtenir une liste de chaînes ligne par ligne et les lire dans le tableau. Vous voulez les trier après, mais ne pouvez pas passer la boucle infinie d'éléments de la liste.ruby aide débogage avec boucle infinie de l'entrée du fichier texte
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
Peu importe. Le code fonctionne très bien ma liste devrait commencer à 49. – MrTumble
notez que 'var1 = [50]' ne crée pas un tableau de longueur 50 dans ruby, il crée un tableau avec un élément, et cet élément est le Fixnum 50 Comme le mentionne @tadman, il suffit de faire 'var1 = []' car '[]' est un alias pour Array.new, mais personne ne l'utilise sauf quand il veut passer des arguments à .new. Vous pouvez spécifier une longueur en utilisant .new mais il est rarement nécessaire de le faire. – kernelsmith