Рассмотрим простой перечислитель, подобный этому:
natural_numbers = Enumerator.new do |yielder|
number = 1
loop do
yielder.yield number
number += 1
end
end
Мой вопрос: почему Ruby требует, чтобы мы вызывали yield на объекте уступки? Другими словами: почему мы не можем заменить число yielder.yield
на число доходности
? В этом примере это выглядело бы так же, если бы это было разрешено. Есть ли примеры нетривиального использования yielder? Если да, то можете ли вы его дать? Если нет, то какова цель уступки?
Спасибо.