Перечислитель как бесконечный генератор в Ruby

Я читаю один ресурс, объясняющий, как перечислители могут быть использованы в качестве генераторов, что в качестве примера:

triangular_numbers = Enumerator.new do |yielder|
  number = 0
  count = 1
  loop do
    number += count
    count += 1
    yielder.yield number
  end
end

print triangular_numbers.next, " " 
print triangular_numbers.next, " " 
print triangular_numbers.next, " " 

Я не понимаю цельyielder здесь, какое значение оно принимает, и как этот код выполняется параллельно с остальным кодом программы.

Выполнение начинается сверху и приостанавливается, вероятно, когда блок «возвращает» значение в мой код.

Может кто-нибудь объяснить, как все это выполняется в глазах компилятора?

Ответы на вопрос(4)

Ваш ответ на вопрос