Curso de Raku / Programación funcional, concurrente, reactiva y web / Programación concurrente / Canales / Cerrar un canal
Quiz — Cerrar un canal
¿Qué imprime el programa siguiente?
my $c = Channel.new;
$c.send(1);
$c.send(2);
$c.close;
say $c.list.elems;| 0 | 0 |
| 0 | 1 |
| 1 | 2 |
| 0 | espera para siempre |
.list recoge todos los valores que quedan en el canal y
acaba porque el canal está cerrado. Se enviaron dos valores, así que
.elems es 2. Sin el .close,
.list esperaría para siempre.