bidirectional_generator

rubyではループとか回すのに基本的に内部イテレータを使いますが、外部イテレータを使いたい時もたまにあります。そんな時は generator を requireして Generatorのnewに配列とかを渡すと nextとかnext?とかが使えるようになります。
http://www.ruby-lang.org/ja/man/html/generator.html


でも、これは両方向はサポートしてないので、両方向で使える外部イテレータを軽く作ってみました。
http://code.google.com/p/rubeus/source/browse/applications/rubeus_presen/client/bidirectional_generator.rb?r=175
これを使えば、prev?とかprevで戻ることが出来るようになります。