为什么在Ruby中创建对象的代理引用时要使用to_enum方法,而不是直接使用对象?我想不到任何实际用途,试图理解这个概念以及有人可能在哪里使用它,但我看到的所有示例都似乎非常琐碎。例如,为什么要使用:
"hello".enum_for(:each_char).map {|c| c.succ }
替换为
"hello".each_char.map {|c| c.succ }
我知道这只是一个非常简单的例子,有没有人有任何现实世界的例子?