RubyのEnumeratorでジェネレータを作ったり,遅延評価してみる

RubyにはEnumerableモジュールってのがあって,これをincludeしたオブジェクトは,自身に対して何かしらの反復処理ができるようになる.また,その反復処理を用いたEnumerable#mapとかEnumerable#selectとかEnumerable#reduceとかが使えるようになる.更に,Enumeratorというものがある.Enumerableがモジュールなのに対し…