标签: ruby arrays
据我所知,Array类已经混合在Enumerable模块中。
如果是这样,为什么不存在[:example].next?
[:example].next
为什么我需要将其设为[:example].to_enum.next?
[:example].to_enum.next
答案 0 :(得分:7)
to_enum与Enumerable无关,它会返回Enumerator。 Array没有next方法,因为next是Enumerator方法,而不是Enumerable方法。
to_enum
Enumerable
Enumerator
Array
next
答案 1 :(得分:3)
因为Enumerable module与Enumerator class不同。
“可枚举”意味着该类获得了一堆创建“枚举器”的免费方法。与Java的Iterable和Iterator接口进行比较。
Iterable
Iterator