【发布时间】:2016-01-02 20:05:41
【问题描述】:
我正在学习 Ruby 中的 each 与 for 循环的简单教程。这应该是更简单的示例之一,但由于某种原因,我不了解 yield 语句和 for 循环之间的交互。
class MyEachThing
def each
yield 1
yield 42
yield 2
yield 42
yield 3
end
end
for i in MyEachThing.new
p i
end
# >> 1
# >> 42
# >> 2
# >> 42
# >> 3
我编写的下一个示例中的产量对我来说很有意义:
def calling
p yield(45)
end
calling {|i| i*2}
我只是不明白第一个示例是如何工作的。谢谢你的帮助。
【问题讨论】:
标签: ruby for-loop return each yield