Ruby でファイルに書き込む
Nurudeen Ibrahim
2022年4月18日
Ruby の File
クラスには、ファイルに書き込むための write()
メソッドがあります。このメソッドは、書き込まれた長さを返し、ファイルが自動的に閉じられるようにします。以下の構文があります。
File.write('/your/file/path', 'Message content')
簡単なメッセージをファイルに書いてみましょう。
File.write('my-file.txt', 'A simlpe message.')
上記のコードは、my-file.txt
というファイルがまだ存在しない場合に作成するのに役立ち、ファイルに A simlpe message.
を書き込むことができます。ファイルがすでに存在する場合、コードはファイルとその内容を上書きします。
Ruby は、ファイルコンテンツを上書きする代わりに、mode
オプションを指定してコンテンツに追加する方法を提供します。例を以下に示します。
File.write("my-file.txt", " Another simple message\n", mode: 'a')
上記の例の\n
は改行文字であり、このファイルに書き込む次のメッセージは次の行に移動する必要があることを意味します。これを確認するために別のメッセージを書いてみましょう。
File.write("my-file.txt", "This message should go on the next line", mode: 'a')
上記の説明を要約する方法として、5 行のテキストをファイルに書き込む簡単なプログラムを書いてみましょう。
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
以下は、プログラム実行後の todo-list.txt
ファイルの内容です。
出力:
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.