Курс языка программирования Raku / Продвинутый уровень / Порядок выполнения / Фазеры блоков / Exercises / После каждого шага

Решение: После каждого шага

Вот возможное решение задачи.

Код

my $sum = 0;

for 1..3 {
    NEXT say "sum so far: $sum";
    $sum += $_;
}

🦋 Исходный код можно найти в файле next-phaser.raku.

Вывод

sum so far: 1
sum so far: 3
sum so far: 6

Комментарии

  1. Фазер NEXT написан первым, но выполняется в конце каждой итерации — после того как тело добавило текущее число к $sum.

  2. Поэтому после первого прохода $sum равен 1, после второго — 3, а после третьего — 6. NEXT — это аналог выполнения чего-либо между итерациями, в отличие от FIRST (один раз в начале) и LAST (один раз в конце).

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

После каждого шага   |   Тест — LEAVE