Enumerator
trunk ではちゃんと動きます。
% ruby1.9 -v ruby 1.9.0 (2008-01-11 revision 0) [i686-linux] % irb1.9 irb(main):001:0> (1..4).each.with_index.to_a => [[1, 0], [2, 1], [3, 2], [4, 3]] irb(main):002:0> e = (1..4).each.with_index => #<Enumerable::Enumerator:0xb7a7364c> irb(main):003:0> e.next => [1, 0]
なんか Enumerator 周りは変化が激しい気がする。1.9.0 リリース直前にも変わってたし。