Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Reaktīvā programmēšana / react un whenever / Exercises / Sadaliet divos masīvos

Risinājums: Sadaliet divos masīvos

Šeit ir iespējams risinājums uzdevumam.

Kods

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;

🦋 Atrodiet programmu failā react-collect.raku.

Izvade

[4 7]
[42 100 15]

Komentāri

  1. whenever ķermenis ir parasts kods, tāpēc tas var darīt vairāk nekā tikai savākt — šeit tas izlemj, novirzot katru vērtību uz @big vai @small, kad tā pienāk. Katrā masīvā vērtības saglabā savu straumes secību.

  2. react bloks nogaida, līdz straume ir pabeigta, tāpēc abi masīvi ir pilnīgi, pirms tos izdrukā.

Kursa navigācija

Sadaliet divos masīvos   |   Divi whenever