Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Funktionale Programmierung / Generatoren / Exercises / Sammeln mit einer Bedingung

Lösung: Sammeln mit einer Bedingung

Hier ist eine mögliche Lösung der Aufgabe.

Code

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

say @vowels;

🦋 Du findest den Quellcode in der Datei gather-vowels.raku.

Ausgabe

[e u a i o]

Kommentare

  1. .comb zerlegt das Wort in einzelne Zeichen, die die Schleife der Reihe nach durchgeht.

  2. take behält ein Zeichen nur, wenn es auf die Vokalklasse trifft, was die Vokale in ihrer Reihenfolge des Auftretens ergibt.

Kursnavigation

Sammeln mit einer Bedingung   |   Iteratoren