Curso de Raku / Programación funcional, concurrente, reactiva y web / Programación reactiva / Supplies en vivo y bajo demanda / Exercises / Sume un flujo en vivo

Solución: Sume un flujo en vivo

Aquí tienes una posible solución para la tarea.

Código

my $supplier = Supplier.new;

my $total = 0;
$supplier.Supply.tap(-> $v { $total += $v });

$supplier.emit(10);
$supplier.emit(20);
$supplier.emit(30);

say $total;

🦋 Puedes encontrar el código fuente en el archivo live-sum.raku.

Salida

60

Comentarios

  1. Cada .emit entrega un valor al enganche, que lo suma a $total.

  2. Tras las tres emisiones el total es 10 + 20 + 30, es decir 60.

Sume un flujo en vivo   |   react y whenever