我没有看到使用统计员。戴夫托马斯的书陈述如下:统计员超过集合的优势
枚举器允许您捕获作为一个对象的枚举的概念。这允许您将枚举存储在变量中,将它们作为参数传递,等等。
但我也可以分配数组到变量,传递数组作为参数等。事实上,我认为使用常规的迭代器集合像数组比使用枚举更简洁:
str = "quick brown fox"
str.scan(/\w+/).each {|w| puts w }
quick
brown
fox
与
str = "quick brown fox"
enum = str.to_enum(:scan, /\w+/)
enum.each { |w| puts w }
quick
brown
fox
枚举版本需要一个额外的步骤,并产生相同的结果。何时使用迭代器对集合使用枚举更实用?
你能提供一个例子吗? – JohnMerlino 2014-10-10 04:02:04
@JohnMerino,'E = [1,2,3] .cycle p e.first(10)' – 7stud 2014-10-10 04:06:08