Ruby 6-4
こんにちは!
しばらくガチャ禁。
Enumerator
Enumerableモジュールの話です。
「列挙のための機能を個々のクラスでていぎしなくてもよい」
「同一の機能を同名のメソッドで提供できる」などのメリットがあります。
文字列msgの各行をチェックしています。
lazyメソッドは遅延評価とと言われています。
1行目では処理されず、forceメソッドが呼び出されたところで処理が実行されます。
eachメソッドのように、ブロックの指示に従って処理を繰り返すものを内部イテレーターと言います。
対して、Enumeratorは外部イテレーターと言います。
配列から要素を2個取り出すなど、内部イテレーターでは表現しにくい場合に使用します。
少しややこしいですが、使いながら慣れていく必要がありますね。
ではでは。