前田です。 At Mon, 12 Apr 1999 21:51:51 +0900, 中村暁史 <anakamur / exa.i-tech.co.jp> wrote: > 1: > ->> ->そういう意味では内部イテレータもコレクションの外部のオブジェクト > ->> ->によって提供されるケースがあるわけですから、内部/外部というのはあ > ->> ->まりうまい命名ではないような気もします。 (snip) > 3: > ->私が上で言おうとしたことは、内部イテレータはイテレータ側が繰り返 > ->しを制御するのに対して、外部イテレータはイテレータの利用者側で繰 > ->り返しを制御する > > あれ?3って1と同じ意味なんですか? 最初のメールをもう一度見ていただければおわかりになると思うのです が、3=>1という流れです。 > 「外のオブジェクトによって提供された(内部)イテレータ」 > という言いまわしが、ちょっと理解を超えました。 例えば、 class IndexIterator def initialize(collection) @collection = collection end def each for i in 0 .. @collection.length-1 yield(@collection[i]) end end end ary = [1, 2, 3] i = IndexIterator.new(ary) i.each do |obj| p obj end のようなケースです。 -- 前田 修吾