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 を指定すると各行の末尾から rs を取り除きます。
[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"]
例: rs を取り除く(chomp = true)

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