Курс по 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Коментари
Всяко
.emitдоставя стойност до включването, което я добавя към$total.След трите подавания сумата е
10 + 20 + 30, тоест60.