Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】IO::readlines()メソッドの使い方

readlinesメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

readlinesメソッドは、ファイルや標準入力などの入力元からすべての行を読み込み、それらを文字列の配列として返すメソッドです。このメソッドは、IOクラスのインスタンス、つまりファイルオブジェクトや標準入力オブジェクトに対して呼び出されます。具体的には、対象の入力元からデータの終端までを読み込み、読み込んだ内容を改行文字で区切り、それぞれの行を文字列として配列の要素に格納して返します。この際、各行の末尾に存在する改行文字(例えば\n)も、通常は各要素の文字列に含まれた状態で保持されます。

主に、ファイルの内容全体を一度にメモリに読み込み、その内容を配列として扱いたい場合に利用されます。例えば、設定ファイルの内容をすべて読み込んでから処理を開始したり、比較的サイズの小さいテキストファイルの内容を一括で取得して操作したりするようなシナリオで役立ちます。ただし、非常に大きなファイルを扱う場合には、ファイル全体の内容が一度にシステムのメモリ上に展開されるため、メモリの消費量が大きくなり、システムのパフォーマンスに影響を与える可能性があります。そのため、ファイルのサイズが不明であったり、メモリ使用量が懸念されるような状況では、必要に応じてファイルを一行ずつ読み込む別の方法を検討することも重要です。このメソッドは、手軽にIOの内容全体を配列として取得できる便利な機能を提供します。

構文(syntax)

1IO.readlines("file_name")

引数(parameters)

name, sep = $/, chomp: false, **options

  • name: 読み込むファイルの名前またはファイルライクオブジェクト
  • sep: 区切り文字。デフォルトは $/, 通常は改行文字 ($/)
  • chomp: trueの場合、各行の末尾にある改行文字や空文字列を削除する
  • options: その他のオプション引数

戻り値(return)

Array

指定されたIOオブジェクトから読み込んだ各行を要素とする配列を返します。

関連コンテンツ

関連プログラミング言語