イテレータと呼ばれることもあります。最近ではもっと汎用的に「ブロック付きメソッド呼び出し」と呼ぶようになっているようである。引き渡されたブロックを呼び出す方法。そのためには「yield」をメソッド定義内で記述する必要があるようだ。私なりの理解の方法の例を挙げてみる。いうメッソドを定義している。いうメッソドを引数「5」で呼び出すことにする。引数「i」に「10」を足してから表示する、というもの。メッソド「foo」を呼び出している。続いて再び、メッソド「fooprint」を定義しなおしている。引数「i」に「20」を足してから表示する、というもの。メッソド「foo」を呼び出している。i+20endとなる。前の例であった「fooprint」というメソッド定義がなくなっている。上記2つのスクリプト例を実行してみると1525となる。「ブロック付きメソッド呼び出し」を理解している。言ってよいほど「イテレータ」という言葉にお目にかかる。実は私も、Rubyについて調査・研究を始めるまで聞いたことがなかった。それでは、「イテレータ」とはいったい何なのだろうか?まずは英語のお勉強から。繰り返す」という意味。定義を引用させてもらうと、イテレータ(Iterator)とは、プログラミング言語において配列やそれに類似するデータ構造の各要素に対する繰返し処理の抽象化である。実際のプログラミング言語では、オブジェクトまたは文法などとして現れる。反復するためのものの意味で反復子(はんぷくし)と訳される。