Курс по Raku / Функционално, паралелно, реактивно и уеб програмиране / Функционално програмиране

Генератори

Генераторът е процедура, която произвежда поредица от стойности една по една, подавайки всяка при поискване, вместо да изгражда целия списък наведнъж. Raku го записва с двойката gather / take: вътре в блок gather всяко take подава по една стойност на получаващата се последователност, а блокът спира точно там, докато не бъде изтеглена следващата стойност.

Понеже стойностите се произвеждат мързеливо — само когато бъдат поискани, — генераторът може да опише дори безкрайна редица. Този раздел показва как се строят последователности с gather и take. Механиката от по-ниско ниво, която всъщност изтегля тези стойности една по една, е тема на следващия раздел — Итератори.

Теми в този раздел

Практика

Направете 1 тест върху съдържанието на този раздел.

Упражнения

Този раздел съдържа 3 упражнения. Разгледайте всички теми в раздела, преди да се захванете с практиката.

  1. Съберете кубовете
  2. Съберете кратните на три
  3. Събиране с условие

Навигация в курса

Решение: Сортиране с поток   |   gather и take