Kurso de Raku / Funkcia, samtempa, reaktiva kaj reta programado / Reaktiva programado / react kaj whenever / Exercises / Disdividu en du tabelojn
Solvo: Disdividu en du tabelojn
Jen ebla solvo de la tasko.
Kodo
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;🦋 Vi povas trovi la fontkodon en la dosiero react-collect.raku.
Eligo
[4 7]
[42 100 15]Komentoj
La korpo
wheneverestas ordinara kodo, do ĝi povas fari pli ol kolekti — ĉi tie ĝi decidas, direktante ĉiun valoron al@bigaŭ@smalllaŭ ĝia alveno. Ene de ĉiu tabelo la valoroj konservas sian fluordon.La bloko react atendas, ĝis la fluo estas finita, do ambaŭ tabeloj estas kompletaj antaŭ ol ili estas presataj.