文字列を一文字、一行、一バイト単位で処理するメソッドがあります。
メソッド名はそれぞれ
- chars
- lines
- bytes
です。
それでは早速
> str = <<EOS 123 456 789 abc EOS => "123\n456\n789\nabc\n"
という文字列を試しに作って、
chars、lines、bytesの挙動をみていきましょう。
> str => "123\n456\n789\nabc\n" > str.lines => #<Enumerator: "123\n456\n789\nabc\n":lines> > str.lines.map {|line| puts line.upcase} 123 456 789 ABC => [nil, nil, nil, nil] > str.chars.map {|line| puts line.upcase} 1 2 3 4 5 6 7 8 9 A B C => [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil] > str.bytes.map {|line| puts line} 49 50 51 10 52 53 54 10 55 56 57 10 97 98 99 10 => [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil]