テキストの処理でもう1つ覚えておきたいことは、「文字や行単位でテキストを取り出し処理する」という方法についてです。テキストでは、「1文字ずつ何かの処理をする」とか、「1行ずつ何かをする」というようなことがあります。
こうした場合、
Stringに用意されているメソッドを利用することで比較的簡単に処理が作成できます。以下にメソッド名を整理しておきましょう。
・文字単位での処理each_char あるいは chars
・行単位での処理each_line あるいは lines
2つずつありますが、どちらも同じ働きをするものです。これらは、以下のような形で記述します。
《String》.メソッド { | 変数 | ……処理…… }テキストから順番に要素を取り出しては変数に代入し、それ以後にある処理を実行します。
each_char(
chars)であれば1文字ずつを取り出していきますし、
each_line(
lines)であれば1行ずつを取り出し、それを変数に代入していくわけです。
下のリスト欄に簡単な例を挙げておきました。変数strのテキストを1行ずつ取り出し、番号をつけて表示しています。