前田です。

At Mon, 12 Apr 1999 08:24:25 +0900,
助田 雅紀 <masaki.suketa / systemplaza.co.jp> wrote:
> >外部イテレータってのは器から見た中身という考え方であり、
> >内部イテレータってのは(器が教えてくれる)中身にしか注目
> >してなくて、よって内部イテレータは、中身個々が器の中で
> >どんな立場にあるかを、頓着できない。
> 
> >…という理解でいいんでしょうか?
> 私もそういう理解をしてます.
> #でも私は「外部イテレータ」も「内部イテレータ」も知りません.
> #まつもとさんの「C++みたいなのが外部イテレータ」「Rubyみたい
> #なのが内部イテレータ」という説明だけを頼りにしてます.(^^;
> 内部イテレータは,中身個々が器の中でどんな立場にあるか気に
> しなくてもよい(気にする余地がない)ですが,逆に外部イテレ
> ータの場合は,1個ずつとばしてアクセスするとか逆順でアクセ
> スするとかできるのが特徴かと思います.

要は、繰り返しを制御するのがライブラリ側か利用者側かという違いで
すよね。
そういう意味では内部イテレータもコレクションの外部のオブジェクト
によって提供されるケースがあるわけですから、内部/外部というのはあ
まりうまい命名ではないような気もします。

-- 
前田 修吾