Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Funkcionālā programmēšana / Ģeneratori / gather un take

Viktorīna — gather un take

Ko izdrukā šī programma?

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]

take izpildās tikai tad, kad $_ > 3, tāpēc sarakstam tiek pievienoti vienīgi 4 un 5. Viss pārējais tiek izlaists, dodot [4 5].

Kursa navigācija

gather un take   |   Slinkais gather