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 →