Ajouter chaque élément du tableau, les lignes d'un fichier en ruby
Si j'ai un tableau de chaînes de caractères par exemple
a = ['a', 'b', 'c', 'd']
et je veux en sortie les éléments d'un fichier (par exemple .txt), un par ligne. Pour l'instant j'ai:
File.new("test.txt", "w+")
File.open("test.txt", "w+") do |i|
i.write(a)
end
Cela me donne le tableau sur une ligne de la test.txt fichier.
Comment puis-je effectuer une itération sur le tableau, l'ajout de chaque valeur à une nouvelle ligne du fichier?
Vous devez vous connecter pour publier un commentaire.
Utiliser
Array chaque#
pour itérer sur votre tableau et appelIO#met
à écrire chaque élément de la file (puts
ajoute un séparateur d'enregistrement, généralement un caractère de saut de ligne):Ou de passer l'ensemble de la baie de
puts
:À partir de la documentation:
puts
avec un array argument pour obtenir ce comportement.Il y a un solution plus simple :
Comme alternative, vous pourriez simplement joindre le tableau avec "\n", de sorte que chaque élément est sur une nouvelle ligne, comme ceci:
Si vous ne voulez pas remplacer les valeurs déjà dans le fichier de texte de sorte que vous êtes tout simplement en ajoutant de nouvelles informations vers le bas, vous pouvez le faire:
Utilisation
Array chaque#
pour parcourir chaque élément. Lors de l'écriture dans le fichier, assurez-vous d'ajouter un saut de ligne(\n
), ou vous obtiendrez un fichier avecabcd
comme contenu:Enumerable
de documentation. Il n'y a paseach
.each
lui-même.each
.Une autre solution simple: