Enumerable 定义的很多方法,在调用时,如果没有传递一个 block,那么这些方法都会返回一个 Enumerator 实例,比如:
eachmapselecteach_sliceeach_with_index等等……
其中的 each,map,select 等方法所返回的 Enumerator 在对其进行迭代时,都是原封不动得依次返回原 Enumerable 对象的各元素。那么问题就是,这三个方法所返回的 Enumerator 对象有什么区别?如果没区别的话,像 map,select 等会返回 Enumerator 这样的设计是出于什么原因或目的?