Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Reaktīvā programmēšana / react un whenever / Exercises / Lielie burti ar react

Risinājums: Lielie burti ar react

Šeit ir iespējams risinājums uzdevumam.

Kods

my @collected;

react {
    whenever Supply.from-list('a', 'b', 'c') {
        @collected.push($_.uc);
    }
}

say @collected;

🦋 Atrodiet programmu failā react-upcase.raku.

Izvade

[A B C]

Komentāri

  1. whenever ķermenis izpildās vienreiz par katru vērtību, pārvēršot to lielajos burtos un ieliekot @collected.

  2. react nogaida, līdz vienīgā supply ir pabeigta, tāpēc say izpildes brīdī masīvā jau ir visas trīs vērtības pēc kārtas: [A B C].

  3. Supply pašai ir saraksta metodes, tāpēc lielos burtus varētu uztaisīt straumē, nevis ķermenī — whenever Supply.from-list('a', 'b', 'c').map(*.uc) { @collected.push($_) } —, un iznākums ir tas pats. .map uz supply pārveido katru vērtību, tai plūstot garām; izvēle ir vienkārši tāda, vai pārveidojums pieder straumei vai reakcijai.

Kursa navigācija

Lielie burti ar react   |   Sadaliet divos masīvos