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

Решение: Накопитель

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

Код

sub make-accumulator {
    my $sum = 0;
    return -> $x { $sum += $x };
}

my &acc = make-accumulator;
acc(10);
say acc(5);

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

Вывод

15

Комментарии

  1. Замыкание захватывает $sum, которая переживает вызовы.

  2. acc(10) доводит итог до 10; acc(5) прибавляет пять и возвращает 15.

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

Накопитель   |   Свёртка