Curso de Raku / Programación funcional, concurrente, reactiva y web / Programación reactiva / react y whenever / Exercises / Reparta en dos arrays
Solución: Reparta en dos arrays
Aquí tienes una posible solución para la tarea.
Código
my @small;
my @big;
react {
whenever Supply.from-list(4, 42, 7, 100, 15) {
if $_ > 10 { @big.push($_) }
else { @small.push($_) }
}
}
say @small;
say @big;🦋 Puedes encontrar el código fuente en el archivo react-collect.raku.
Salida
[4 7]
[42 100 15]Comentarios
El cuerpo del
wheneveres código corriente, así que puede hacer más que recoger: aquí decide, encaminando cada valor a@bigo a@smallsegún llega. Dentro de cada array los valores conservan su orden en el flujo.El bloque react espera a que el flujo termine, así que ambos arrays están completos antes de imprimirse.