Ruby 2.5.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > IOクラス > readlines

singleton method IO.readlines

readlines(path, rs = $/, chomp: false, opts={}) -> [String][permalink][rdoc]
readlines(path, limit, chomp: false, opts={}) -> [String]
readlines(path, rs, limit, chomp: false, opts={}) -> [String]

path で指定されたファイルを全て読み込んで、その各行を要素としてもつ配列を返します。

Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。

テキスト読み込みメソッドとして動作します。

limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で 切れないように余分に読み込む場合があります。

opts でファイルを開くときのオプションを指定します。エンコーディングなど を指定できます。 File.open と同様なのでそちらを参照してください。

[PARAM] path:
ファイル名を表す文字列か "|コマンド名" を指定します。
[PARAM] rs:
行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
[PARAM] limit:
最大の読み込みバイト数
[PARAM] chomp:
true を指定すると各行の末尾から "\n", "\r", または "\r\n" を取り除きます。
[PARAM] opts:
ファイルを開くときのオプション引数
[EXCEPTION] Errno::EXXX:
path のオープン、ファイルの読み込みに失敗した場合に発生します。


IO.write("testfile", "line1\nline2,\nline3\n")
IO.readlines("testfile")             # => ["line1\n", "line2,\n", "line3\n"]
IO.readlines("testfile", ",")        # => ["line1\nline2,", "\nline3\n"]
例: 各行の末尾から "\n", "\r", または "\r\n" を取り除く(chomp = true)

IO.write("testfile", "line1\nline2,\nline3\n")
IO.readlines("testfile", chomp: true)  # => ["line1", "line2,", "line3"]