RubyでFile(ファイル)を書き込む方法【初心者向け】

Rubyでファイルの書き込みを行う方法について解説しています。プログラミングをする上でファイルを読み込んだり、書き込むことは常にするわけではありませんが、いざという時に使えると便利なので覚えておきましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Rubyを使ってファイルに書き込む方法について解説していきます。

初心者の方でもわかるようにソースコードを実際に書きながら説明しています。自分でも書きながら確認してみると良いかもしれませんね。

そもそもRubyがよく分からないという方は、Rubyとは何なのか解説した記事をご覧ください。

 

なお本記事は、TechAcademyのWebアプリケーションオンラインブートキャンプの内容をもとに紹介しています。

 

田島悠介

今回は、Rubyでファイルに書き込みを行う方法を練習しよう。

大石ゆかり

田島メンター!!Rubyでファイルを読み込むのにはFileクラスを使いましたよね。今回もそうなんですか〜?

田島悠介

そうだね。そして読み込みのときはモードを”r”にしたけれど、今回は”w”を使用するよ。

大石ゆかり

分かりました、やってみます!

 

ファイルを書き込んでみよう

今回は新規にtest.txtというファイルを作成します。

まずはファイルオープンからやっていきましょう。

Rubyでファイルを読み込む方法ではファイルオープンモードは省略(“r”でオープン)しましたが、

今回は”w”でオープンしましょう。

file = File.open('test.txt', "w")

これで自動的にカレントディレクトリにtest.txtが作成されました。

 

大石ゆかり

今回はテキストファイルを用意しないんですか?

田島悠介

モードが”w”のとき、該当のファイルがない場合自動で作成してくれるんだ。

大石ゆかり

なるほど、そしてここで入力した内容が書き込まれていくわけですね。

 

file.print("Japanese\n")
file.puts("Math")
file.printf("%s\n", "Science")

書き込み方はprint,puts,printfが使えます。

それぞれの書式を守って使いましょう。

では一連の流れをプログラムを見て確認していきましょう。

file = File.open('test.txt',"w")
file.print("Japanese\n")
file.puts("Math")
file.printf("%s\n","Science")

書き込めたらそれを確認するためにtest.txtを確認してみましょう。

d1aff112af3180a0c706ef7455080567

このように書き込めていれば成功です。

合わせて、ファイルを読み込む方法もご覧ください。

 

田島悠介

作成したファイルを確認してみよう。

大石ゆかり

入力した内容が、テキストに反映されています!

田島悠介

“w”のモードでは同じ名前のファイルがある場合は上書きされるんだ。元からあった内容は全て消えてしまうので注意しよう。

大石ゆかり

なるほど、分かりました。ありがとうございます!

 

[お知らせ]TechAcademyでは初心者でも8週間でエンジニアになれるRuby on Railsオンラインブートキャンプを開催しています。RubyでWebアプリを開発したい方はご参加ください。