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].