【发布时间】:2016-03-30 04:56:17
【问题描述】:
我有一个字符串:
bottom_line = "some text"
当我使用enum_for 从它创建一个枚举器,并尝试在其上调用each 时,我收到一个错误:
z = bottom_line.enum_for
z.each {|item| item.scan(/some_regex/)}
# => undefined method `each' for #<String:0x00000001f65350>
这是怎么回事?
当我将enum_for 与该方法全部链接在一行时,它可以工作:
z = bottom_line.enum_for(:scan, /some_regex/)
【问题讨论】:
-
感谢 Cary 的清晰解释 - 我之前曾尝试查看文档,但查看了 Enumerator 文档,但我没有意识到它将 #each 方法传递给底层的类对象,在这种情况下为字符串
标签: ruby enumerator