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

Коментарі

  1. Кожен .emit доставляє значення до підключення, яке додає його до $total.

  2. Після трьох видач сума дорівнює 10 + 20 + 30, тобто 60.

Навігація курсом

Сума живого потоку   |   react і whenever