Курс по Raku / Функционално, паралелно, реактивно и уеб програмиране / Реактивно програмиране / Живи supply и supply при поискване / Exercises / Сума на жив поток

Решение: Сума на жив поток

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

Код

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