Je préfère utiliser la méthode readlines
pour des choses comme celle-ci.
x = []
y = []
File.readlines(filename).each do |line|
x << line.split[0]
y << line.split[1]
end
Mladen (des commentaires de cette réponse) suggère, je partage deux fois ce qui est probablement plus lent que d'assigner à une variable et le référencement que. Il mentionne également que l'utilisation foreach
est meilleure que readlines
, et je suis d'accord. Grâce à leur avis, c'est la façon dont nous les deux vont à le faire:
x = []
y = []
File.foreach(filename).each do |line|
line = line.split
x << line[0]
y << line[1]
end
+1 - Très propre – RubyDubee
Vous pouvez utiliser 'File.foreach (nom de fichier) 'au lieu de' File.readlines (filename) .each' et éviter de charger le fichier entier en mémoire. Vous faites aussi deux fois split(), ce qui n'est pas nécessaire. –
Très vrai Mladen, vous pouvez également affecter la scission à une variable et l'utiliser. –