Kurso de Raku / Funkcia, samtempa, reaktiva kaj reta programado / Reaktiva programado / react kaj whenever / Exercises / Majuskloj per react

Solvo: Majuskloj per react

Jen ebla solvo de la tasko.

Kodo

my @collected;

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

say @collected;

🦋 Vi povas trovi la fontkodon en la dosiero react-upcase.raku.

Eligo

[A B C]

Komentoj

  1. La korpo whenever plenumiĝas unufoje por ĉiu valoro, majuskligante ĝin kaj puŝante ĝin sur @collected.

  2. react atendas, ke la unu sola supply finiĝu, do kiam say plenumiĝas, la tabelo tenas ĉiujn tri valorojn laŭvice: [A B C].

  3. Supply havas proprajn list-similajn metodojn, do vi povus majuskligi en la fluo anstataŭ en la korpo — whenever Supply.from-list('a', 'b', 'c').map(*.uc) { @collected.push($_) } — kaj la efiko estas la sama. .map sur supply transformas ĉiun valoron laŭ ĝia trafluo; la elekto estas simple, ĉu la transformo apartenas al la fluo aŭ al la reago.

Kursa navigado

Majuskloj per react   |   Disdividu en du tabelojn