Cursus Raku / Functioneel, concurrent, reactief en webprogrammeren / Functioneel programmeren / Generatoren / gather en take

Quiz — gather en take

Wat drukt het volgende programma af?

my @a = gather {
    for 1..5 {
        take $_ if $_ > 3;
    }
}

say @a;
0[1 2 3 4 5]
1[4 5]
0[1 2 3]
0[3 4 5]

De take draait alleen wanneer $_ > 3, dus worden alleen 4 en 5 aan de lijst toegevoegd. Al het andere wordt overgeslagen, wat [4 5] geeft.

Cursusnavigatie

gather en take   |   Luie gather