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

Генератори

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

Оскільки значення виробляються ліниво — лише тоді, коли їх просять, — генератор може описати навіть нескінченний ряд. Цей розділ показує, як будувати послідовності за допомогою gather та take. Механіка нижчого рівня, що насправді витягає ці значення одне за одним, є темою наступного розділу — Ітератори.

Теми цього розділу

Практика

Виконайте 1 тест за змістом цього розділу.

Вправи

У цьому розділі 3 вправи. Перш ніж братися до практики, вивчіть усі теми розділу.

  1. Зберіть куби
  2. Зберіть числа, кратні трьом
  3. Збір з умовою

Навігація курсом

Розв’язання: Сортування конвеєром   |   gather і take