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