Corso di Raku / Programmazione funzionale, concorrente, reattiva e web / Programmazione reattiva / react e whenever / whenever

Quiz — whenever

Cosa stampa il programma seguente?

my @out;

react {
    whenever Supply.from-list(1, 2, 3) {
        @out.push($_ * 2);
    }
}

say @out;
0[1 2 3]
1[2 4 6]
0[6]
012

Il corpo del whenever gira per ogni valore, spingendo il doppio del valore. Il supply emette 1, 2, 3, quindi @out raccoglie 2, 4, 6.

whenever   |   Quiz — whenever e done