Курс языка программирования Raku / Функциональное, конкурентное, реактивное и веб-программирование / Функциональное программирование / Генераторы / Exercises / Сбор с условием

Решение: Сбор с условием

Вот один из возможных вариантов решения задачи.

Код

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

say @vowels;

🦋 Исходный код можно найти в файле gather-vowels.raku.

Вывод

[e u a i o]

Комментарии

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

  2. take оставляет символ, только когда тот подходит под класс гласных, — так получаются гласные в том порядке, в каком они встречаются.

Навигация по курсу

Сбор с условием   |   Итераторы