Курс по 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.

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

Натрупвател   |   Свиване