Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

【Ruby】ファイル読み込みメソッドまとめ

More than 1 year has passed since last update.

概要

Rubyではデータ読み込みの際に使用するメソッドによって、ファイル末尾に到達した時の振る舞い空ファイルを開いた時の振る舞いが異なります。
各メソッドの動きとEOF・空ファイルに対する振る舞いの違いについてまとめました。

IOクラスのファイルを読み込むメソッド・振る舞い一覧

メソッド名 処理 EOF・空ファイルに対する振る舞い
read IOから内容を読み込む。引数で読み込みの長さの指定が可能。 空ファイルの場合は「""」が返る。引数で読み込みの長さが指定されている場合はnilが返る。
readlines ファイルを全て読み込んで、行ごとに要素に分けた配列にして返す。 空ファイルの場合は空配列([])が返る。
each/foreach 指定されたファイルを開き、各行ごとにブロックに渡す。 与えられたブロックが実行されない。
each_byte 与えられたブロックに1バイトずつ整数として渡す。 EOFであれば何もしない。
gets IOオブジェクトから1行だけ読み込む。 nilを返す。
readline IOオブジェクトから1行だけ読み込む。 EOFErrorエラーが発生する。
getc IOオブジェクトから1文字読み込む。 nilを返す。
readchar IOオブジェクトから1文字読み込む。 EOFErrorエラーが発生する。
getbyte IOオブジェクトから1バイト読み込んで整数として返す。 nilを返す。
readbyte IOオブジェクトから1バイト読み込んで整数として返す。 EOFErrorエラーが発生する。
k-penguin-sato
最近はGoとTypeScriptを頑張ってます。 https://dev.to/ksato1995
updata
不動産DXを推進しています。 主なプロダクト Syncaデータコンバーター Syncaワークフロー Syncaウェブサイト
https://updata.tech
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away