Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Функційне програмування / Генератори / gather і take

Тест — gather і take

Що надрукує наступна програма?

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 виконується лише тоді, коли $_ > 3, тож до списку додаються самі 4 та 5. Усе решта пропускається, і виходить [4 5].

Навігація курсом

gather і take   |   Лінивий gather