Corso di Raku / Avanzato / Controllo di flusso / gather e take

Quiz — gather

Cosa stampa il seguente programma?

my @r = gather for 1..6 {
    take $_ if $_ %% 3;
};

say @r;
1[3 6]
0[1 2 3 4 5 6]
0[3]
0[]

gather raccoglie solo i valori su cui take viene effettivamente chiamato. La condizione $_ %% 3 e vera solo per 3 e 6, quindi solo quei due vengono presi, dando [3 6].

Soluzione: Raccogliere fino al pieno   |   Prefissi di istruzione