知らなかったんだが

ruby -ve 'p $LOADED_FEATURES'
ruby 1.9.0 (2005-08-26) [i686-linux]
["enumerator.so"]

と、1.9 に enumerator が組み込まれてる。しかも、Enumerableの一部のメソッドはブロックなしで、このオブジェクトを返してる。

p [1,2,3].each_with_index
#<Enumerable::Enumerator:0xb7f079bc>

p [1,2,3].each_with_index.to_a
[[1, 0], [2, 1], [3, 2]]

しかし、reject とかがそうなる必要ってあるの?使いどころがわからない

p (1..7).reject
#<Enumerable::Enumerator:0xb7f0ea0c>

Array#reject は今までどおりなのも?

p [1,2,3].reject
-:1:in `reject': no block given (LocalJumpError)
from -:1