为什么要使用to_enum方法而不是直接使用对象,在Ruby中创建对象的代理引用?我想不出任何实际用途,试图理解这个概念以及有人可能会使用它的地方,但我看到的所有例子都显得非常微不足道.
例如,为什么使用:
"hello".enum_for(:each_char).map {|c| c.succ }
Run Code Online (Sandbox Code Playgroud)
代替
"hello".each_char.map {|c| c.succ }
Run Code Online (Sandbox Code Playgroud)
我知道这是一个非常简单的例子,有没有人有任何现实世界的例子?