Rubyでopenメソッドを使う方法を現役エンジニアが解説【初心者向け】

初心者向けにRubyでopenメソッドを使う方法について現役エンジニアが解説しています。RubyのFileクラスのopenメソッドは、ファイルを開く関数です。開いたファイルは読み書きを行うことができます。openメソッドの引数のモードの種類や書き方について解説します。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Rubyでopenメソッドを使う方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

Rubyについてそもそもよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Ruby講座の内容をもとに紹介しています。
 

田島悠介

今回は、Rubyに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Rubyでopenメソッドを使う方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

openメソッドとは

Rubyでは外部にファイルを用意し、そのファイルをFileクラスのopenメソッドやcloseメソッドなどを使用してファイルの書き込みや読み込みができます。

ターミナルで対話式のirbで確認をすると、

>File.methods

と実行するとopenメソッドがあることが確認できます。

FileクラスはIOクラスのサブクラスです。

こちらもirbで確認をする場合には、

>File.superclass

と実行するとFileのスーパークラスがIOクラスであることが分かります。

openメソッドは、外部にテキストファイルなどを用意しておき、モードと呼ばれるコマンドを指定することで書き込みや読み込みが実行できます。指定したファイルが存在しない場合はその指定したファイル名でファイルを作成できます。

 

[PR] Rubyのプログラミングで挫折しない学習方法を動画で公開中

openメソッドを使う方法

Fileクラスに紐付いたopenメソッドを使用しているので、File.openと記述し外部のテキストファイル名とモードを指定します。

File.open("ファイル名","モード")

モードは大きく分けると

  • r=読み込み専用モード
  • w=書き込み専用モード
  • a=追加書き込み専用モード

の3種類となります。
 

実際に書いてみよう

最初に外部のテキストファイルを準備しておきます。

(test1.txt)

123

そしてrubyファイルの方でこのtest1ファイルの書き込みを出来るようにしていきます。

(test2.ruby)

file = File.open("test1.txt", "a")
 file.puts("999")
 file.close

上記の”a”を”w”にすると、もともとtest1ファイルに書かれていたテキストは上書きされることになります。

openしたファイルは必ずcloseしなければならないため、今回は分かりやすくfile.closeとしています。

 

まとめ

openメソッドで外部ファイルの読み書きができるようにすることで、

膨大なテキスト量のファイルを外部化しておくことや、csvファイルのデータを操作を簡単におこなえるようになります。
 

筆者プロフィール

木村勇土

TechAcademyの現役メンター。

現在は行政書士事務所を運営しており、お客様にはプログラマーやフリーランサーも多い。
WordPressを中心とした自社のWebサイトの修正などを行なっている。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、Ruby on Railsを使ったプログラミングを習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。