$Id: iterator.rd,v 1.5 2003/06/18 23:28:28 aamine Exp $ Ruby の最大の特徴であり難関でもあるイテレータを極めちゃうぜ講座。 イテレータとはなにか 最初に言っておくと、最近の Ruby 界では「イテレータ」という名称はあんま し好まれてない。くりかえさないイテレータが増えてきたっていうのが理由だ。 ではなんと呼べばいいのかっていうと、「ブロック付きメソッド」とか言うらしい。 どうも好きじゃないなあこの名称。 じゃあどんな名称だったらいいのか。 原点に立ち戻ってイテレータとはなにかと考えると、「制御構造を作るメソッ ド」なのだ。それは以下のような例を見れば感覚的に「あー、そうなのか」と わかる。 def IF( cond ) yield if cond end IF (i > 4) { puts 'ok' } そんなわけで、原理を考え