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

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