■ [ruby] 円周率を頭から順に計算するやつをRuby 2.0に移植してみた Island Life - Unbounded spigot algorithm Ruby 2.0に入る予定のEnumerable#lazyを使って移植してみた。*1 def stream(nxt, safe, prod, cons, seed, strm) Enumerator.new{|yielder| loop do y = nxt[seed] if safe[seed, y] seed = prod[seed, y] yielder << y else seed = cons[seed, strm.next] end end } end def extr(a, x) q, r, s, t = *a return (Rational(q) * x + Rational(r)) / (Rational(s