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

Итераторы

Предыдущий раздел строил последовательности с помощью gather и take. Этот спускается на уровень ниже — к механизму, который на самом деле поставляет значения, к итератору.

Итератор — это маленький объект, стоящий за каждым списком, диапазоном и ленивой последовательностью в Raku. Он умеет одно-единственное: выдать следующее значение, и больше ничего. Всякий раз, когда вы пишете цикл for или вызываете map, Raku незаметно просит у итератора по одному значению за раз, пока они не кончатся. В этом разделе этот протокол показан напрямую: как вытягивать значения из итератора вручную и как написать собственный итератор.

Темы этого раздела

Практика

Пройдите 1 тест по содержанию этого раздела.

Упражнения

В этом разделе 1 упражнение. Прежде чем приступать к практике, изучите все темы раздела.

  1. Сумма с помощью pull-one

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

Решение: Сбор с условием   |   Протокол итератора