こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。
この記事では、 Rubyでファイルに上書きで書き込みを行うやり方について
- 使うメソッド
- 実際にファイルに書き込むサンプルプログラム
と、この記事で丁寧に解説していきます。
他のファイル操作については、こちらの記事をご参考ください。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
Rubyのバージョン | 2.6.6 |
ファイルに上書きで書き込みをするために使うメソッド
ファイルを書き込むためには
- openメソッドでファイルを開く
- putsメソッドまたはwriteメソッドで書き込む
という段取りで書き込みます。
サンプルは以下になります。
1 2 3 |
open('hoge.txt', 'w') do |file| # 書き込む処理を書く end |
それぞれの引数の意味は下記です。
第一引数のファイル指定は、存在しないファイルを指定しても問題ありません。
ない場合は指定された名前でファイルが作成されます。
指定するファイルのパスは
- 相対パス
- 絶対パス
どちらでもOKです。
それぞれのパスについては、以下の記事をご参考ください。
第二引数の[w]の意味は、上書きで書き込みを行うという意味です。
もし存在して中身があるファイルが指定されていた場合、上書きされてしまうので、ご注意ください。
では、次の章で実際に使ってみます。
ファイル書き込みを解説するプログラムの概要
ファイル書き込みを解説するプログラムは
- 存在しないテキストファイル
- 存在するテキストファイル
の2パターンで書き込みを行います。
実行前後でどうなっているのかを比較して確認します。
カレントディレクトリは
C:\rubystudy
として、同じ階層にrubyプログラムを作成します。
Rubyサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# ファイル書き込みサンプル puts('■ファイル新規作成と書き込み実施') hoge_file_path = './sample/hoge.txt' open(hoge_file_path, 'w') do |file| file.puts('ファイルを新規作成しました') end puts('■ファイル上書き実施') sample_file_path = 'sample.txt' open(sample_file_path, 'w') do |f| f.puts('ファイルに上書きしました') end puts "実行完了" |
実行結果
ファイルに書き込みを実行する前の状態を確認します。
実行するプログラムがあるディレクトリ配下のsampleディレクトリに何もファイルが存在しないことを確認しました。
上書きするsample.txtの内容が以下であることを確認しました。
実行して本当にファイルに書き込みができているかを確認します。
Rubyプログラムを実行するやり方は、以下の記事をご参考ください。
無事実行できたので、それぞれを確認します。
sampleディレクトリにhoge.txtが作成されて、
指定した文字が書き込まれていることを確認できました!
sample.txtは、上書きされていることが確認できました!
まとめ:ファイルに上書きで書き込みをしてみよう!
以上がファイルに上書きで書き込みを行うやり方についての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント