Écrire dans un fichier en Ruby
La classe File de Ruby a une méthode write()
pour écrire dans un fichier. La méthode renvoie la longueur écrite et s’assure que le fichier est automatiquement fermé. Il a la syntaxe ci-dessous.
File.write('/your/file/path', 'Message content')
Écrivons un message simple dans un fichier.
File.write('my-file.txt', 'A simlpe message.')
Le code ci-dessus nous aide à créer un fichier appelé my-file.txt
s’il n’existe pas déjà et nous permet d’écrire A simlpe message.
dans le fichier. Si le fichier existe déjà, le code écrase le fichier et son contenu.
Au lieu d’écraser le contenu du fichier, Ruby fournit un moyen d’ajouter au contenu en spécifiant l’option mode
, et un exemple est présenté ci-dessous.
File.write("my-file.txt", " Another simple message\n", mode: 'a')
Le \n
dans l’exemple ci-dessus est un caractère de nouvelle ligne, et cela signifie que le message suivant que nous allons écrire dans ce fichier doit aller à la ligne suivante. Écrivons un autre message pour le confirmer.
File.write("my-file.txt", "This message should go on the next line", mode: 'a')
Pour résumer l’explication ci-dessus, écrivons un programme simple qui écrit cinq lignes de texte dans un fichier.
todos = [
"wake up, shower, and leave for work",
"Pick up John from school",
"Meet with team to practice presentation",
"Dinner with friends",
"Relax and bedtime."
]
todos.each_with_index do |todo, index|
File.write("todo-list.txt", "#{index + 1}. #{todo}\n", mode: 'a')
end
Vous trouverez ci-dessous le contenu du fichier todo-list.txt
après l’exécution du programme.
Production :
1. wake up, shower, and leave for work
2. Pick up John from school
3. Meet with team to practice presentation
4. Dinner with friends
5. Relax and bedtime.