前の記事に対する回答がどこからも得られなかったので(当り前だ)、記事を書き直して自分で回答・解説してみます(泣) Rubyのバグだと思ったら自分がバグだった ─ Enumerator編 ─ 一見問題無さそうな以下のコードにはバグがあります。 def step(init, step=1) Enumerator.new do |y| loop { y << init; init += step } end end odd = step(1, 2) odd.next # => 1 odd.next # => 3 odd.next # => 5