Курс по 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