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

instance method String#lines

lines(rs = $/, chomp: false) -> [String][permalink][rdoc]
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 を指定すると、分割した各行に対して String#chomp を実行するのと同等の結果を得ることができます。


  "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 と同じように動作しま す。ただし obsolete のため、ブロックを指定する場合は String#each_line を使用してください。

[SEE_ALSO] String#each_line