2

Enum#feed

设置e内部下一个yield要返回的值。如果没有设置该值,yield返回nil。这个值在被yield之后被清除。

我尝试了一个示例,但我认为这不是理解该 #feed方法的示例。

a = [1,2,3,4].to_enum
p a.next #=> 1
a.feed 'foo'
p a.next #=> 2 , I expected here 'foo'

谁能给我一个很好的例子来了解该#feed方法的工作原理?

4

1 回答 1

1

根据您链接到的文档,由相关的 Enumerable 对象决定如何处理您的feed调用。在这种情况下,默认行为是忽略它。如果您编写自己的自定义 Enumerable 类,您可以接受并按照您的意愿对待它。

我从未见过feed使用过,但话又说回来,这是在您可能需要它的情况下放在那里的那种东西。老实说,我根本想不出这东西有什么用。

您必须测试各种支持的东西,但如果您发现任何使用它的对象,我会感到惊讶。

于 2013-05-21T07:47:33.563 回答