Raku-Kurs / Fortgeschritten / Kontrollfluss / given und
when / Exercises / Nach Typ
abgleichen
Lösung: Nach Typ abgleichen
Hier ist eine mögliche Lösung der Aufgabe.
Code
my $value = 3.14;
given $value {
when Int { say 'integer' }
when Rat { say 'rational' }
when Str { say 'string' }
}🦋 Du findest den Quellcode in der Datei match-by-type.raku.
Ausgabe
rationalKommentare
Wenn der zu matchende Wert ein Typ ist, prüft der Smart Match, ob das Thema von diesem Typ ist.
3.14ist keinInt, daher wird das erstewhenübersprungen.Ein Dezimalliteral wie
3.14ist in Raku einRat(eine rationale Zahl), daher passt das zweitewhenund das Programm gibtrationalaus.