Raku-Kurs / Grundlagen / Assoziative Datentypen / Übungen / Schon gesehen?
Lösung: Schon gesehen?
Diese Aufgabe ist ein klassisches Beispiel für die Verwendung eines Hashes, um Elemente zu verfolgen. Vor einer Schleife wird ein Hash %seen
erstellt. Innerhalb der Schleife dient das eingegebene $word
als Schlüssel des Hashes.
Code
Hier ist die Lösung:
my %seen;
loop {
my $word = prompt 'Wort: ';
if %seen{$word} {
say %seen{$word} == 1 ?? 'Gesehen!' !! say "Schon %seen{$word} Mal gesehen!";
}
%seen{$word}++;
}
🦋 Finde das Programm in der Datei seen-before.raku.
Ausgabe
$ raku exercises/associatives/seen-before.raku
Wort: Ich
Wort: habe
Wort: noch
Wort: nie
Wort: eine
Wort: Säge
Wort: gesehen
Wort: Säge
Gesehen!
Wort: die
Wort: Säge
Schon 2 Mal gesehen!
Wahr
Wort: so
Wort: wie
Wort: die
Gesehen!
Wort: Säge
Schon 3 Mal gesehen!
Wahr
Wort: gesägt
Wort: ^C
Kommentar
Der Konstrukt %seen{$word}++
erhöht nicht nur den Wert, sondern erstellt ihn auch, wenn er noch nicht existiert. Der Prozess des Erstellens wird Autovivifikation genannt. Beachten Sie, dass dies nicht passiert, wenn Sie den Wert nur lesen, wie in der Bedingung: if %seen{$word}
.
Nächste Übung
Kursnavigation
← Positionale Datentypen / Indizieren von Bereichen | Erstellen und Aufrufen von Funktionen →
Diese Seite wurde automatisch mit ChatGPT 4o übersetzt. Originaler englischer Text.
Übersetzungen dieser Seite: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська