どうも、Rubyをやっているものです。突然ですがRubyのIOクラスってよくわからなくありませんか?そこで今回はRubyのIOクラスについて簡単にまとめておきたいと思います。
RubyのIOクラスの特徴と使い方
IOクラスとは
簡単にいうとIOクラスはプログラム外部とデータやり取りするための機能として入力(インプット)と出力(アウトプット)を提供することです。
IOクラスに関連する入出力の種類
IOクラスに関連する入出力の種類には主に3つあります。
標準入力
データを受け取るためのIOオブジェクト
標準出力
データを出力するためのIOオブジェクト
標準エラー出力
エラーを出力するためのIOオブジェクト
ファイルの入出力
ファイルの入出力はIOクラスのサブクラスであるFileクラスを使います。ファイルを開いて新しいファイルオブジェクトをエルにはFile.openかopenメソッドを使う。
モードにはどのような目的でファイルを開くかを指定します。モード指定を省略すると読み込み専用になります。
r
読み込み専用でファイルを開く
r+
読み込み/書き込みでファイルを開く
w
書き込み専用でファイルを開く
ファイルがなければ新たに作成
すでにファイルがあるならファイルの中身はなくなる
w+
読み込み/書き込みでファイルを開く
そのほかはwと同じ
a
追加書き込み専用で開く
ファイルがなければ新たに作成
a+
読み込み/追加書き込みようとしてファイルを開く
ファイルがなければ新たに作成
ファイルポインタ
効率よくデータを読み書きするためにデータの位置を決め打ちでアクセスする方法がファイルポインタを指定する方法です。IOオブジェクトがファイルのどこを指しているのかを示す情報をファイルポインタ、カレンツファイルオフセットといいます。