テキスト(Stringクラス)の基本操作 (4/4)
作成:2012-09-08 17:24
更新:2012-09-08 17:24
更新:2012-09-08 17:24
■テキストの各要素ごとに処理する
テキストの処理でもう1つ覚えておきたいことは、「文字や行単位でテキストを取り出し処理する」という方法についてです。テキストでは、「1文字ずつ何かの処理をする」とか、「1行ずつ何かをする」というようなことがあります。
こうした場合、Stringに用意されているメソッドを利用することで比較的簡単に処理が作成できます。以下にメソッド名を整理しておきましょう。
・文字単位での処理
・行単位での処理
2つずつありますが、どちらも同じ働きをするものです。これらは、以下のような形で記述します。
《String》.メソッド { | 変数 | ……処理…… }テキストから順番に要素を取り出しては変数に代入し、それ以後にある処理を実行します。each_char(chars)であれば1文字ずつを取り出していきますし、each_line(lines)であれば1行ずつを取り出し、それを変数に代入していくわけです。
下のリスト欄に簡単な例を挙げておきました。変数strのテキストを1行ずつ取り出し、番号をつけて表示しています。
こうした場合、Stringに用意されているメソッドを利用することで比較的簡単に処理が作成できます。以下にメソッド名を整理しておきましょう。
・文字単位での処理
each_char あるいは chars
・行単位での処理
each_line あるいは lines
2つずつありますが、どちらも同じ働きをするものです。これらは、以下のような形で記述します。
《String》.メソッド { | 変数 | ……処理…… }テキストから順番に要素を取り出しては変数に代入し、それ以後にある処理を実行します。each_char(chars)であれば1文字ずつを取り出していきますし、each_line(lines)であれば1行ずつを取り出し、それを変数に代入していくわけです。
下のリスト欄に簡単な例を挙げておきました。変数strのテキストを1行ずつ取り出し、番号をつけて表示しています。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
str = "Welcome\nto\nRuby!" count = 0 str.lines { |str| count += 1 puts(count.to_s + ": " + str) }
※関連コンテンツ