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

Розв’язання: Збір з умовою

Ось одне з можливих розв’язань задачі.

Код

my @vowels = gather {
    for 'education'.comb {
        take $_ if $_ ~~ / <[aeiou]> /;
    }
}

say @vowels;

🦋 Знайдіть програму у файлі gather-vowels.raku.

Вивід

[e u a i o]

Коментарі

  1. .comb розбиває слово на окремі символи, які цикл обходить по порядку.

  2. take залишає символ лише тоді, коли той збігається з класом голосних, даючи голосні в тому порядку, у якому вони трапляються.

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

Збір з умовою   |   Ітератори