Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Реактивне програмування / Живі supply та supply на вимогу / Вправи / Сума живого потоку
Розв’язання: Сума живого потоку
Ось одне з можливих розв’язань задачі.
Код
my $supplier = Supplier.new;
my $total = 0;
$supplier.Supply.tap(-> $v { $total += $v });
$supplier.emit(10);
$supplier.emit(20);
$supplier.emit(30);
say $total;🦋 Знайдіть програму у файлі live-sum.raku.
Вивід
60Коментарі
Кожен
.emitдоставляє значення до підключення, яке додає його до$total.Після трьох видач сума дорівнює
10 + 20 + 30, тобто60.