instance method String#lines

lines(rs = $/, chomp: false) -> [String][permalink][rdoc][edit]
lines(rs = $/, chomp: false) {|line| ... } -> self

文字列中の各行を文字列の配列で返します。(self.each_line.to_a と同じです)


"aa\nbb\ncc\n".lines # => ["aa\n", "bb\n", "cc\n"]

行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。各 line には区切りの文字列も含みます。

rs に nil を指定すると行区切りなしとみなします。 rs に空文字列 "" を指定すると「パラグラフモード」になり、 改行コードが 2 つ以上連続するところで文字列を分割します (つまり空行で分割します)。

chomp に true を指定すると、分割した各行の末尾から rs を取り除きます。


"hello\nworld\n".lines              # => ["hello\n", "world\n"]
"hello\nworld\n".lines(chomp: true) # => ["hello", "world"]
[PARAM] rs:
行末を示す文字列
[PARAM] chomp:
分割した各行に対して String#chomp と同等の結果を得る場合は true を、そうでない場合は false で指定します。省略した場合は false を指定したとみなされます。

ブロックが指定された場合は String#each_line と同じように動作します。

Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。

[SEE_ALSO] String#each_line