Курс языка программирования Raku / Функциональное, конкурентное, реактивное и веб-программирование / Функциональное программирование
Генераторы
Генератор — это процедура, которая выдаёт череду значений по
одному, отдавая каждое по требованию, вместо того чтобы строить весь
список заранее. В Raku он записывается парой gather /
take: внутри блока gather каждый
take отдаёт одно значение получаемой последовательности, и
блок замирает прямо на этом месте, пока не затребуют следующее
значение.
Поскольку значения производятся лениво — только тогда, когда их
спрашивают, — генератор может описывать даже бесконечную череду. В этом
разделе показано, как строить последовательности с помощью
gather и take. Более низкоуровневая механика,
которая на самом деле вытягивает эти значения одно за другим, — предмет
следующего раздела, Итераторы.
Темы этого раздела
Практика
Пройдите 1 тест по содержанию этого раздела.
Упражнения
В этом разделе 3 упражнения. Прежде чем приступать к практике, изучите все темы раздела.