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

rational

Kommentare

  1. Wenn der zu matchende Wert ein Typ ist, prüft der Smart Match, ob das Thema von diesem Typ ist. 3.14 ist kein Int, daher wird das erste when übersprungen.

  2. Ein Dezimalliteral wie 3.14 ist in Raku ein Rat (eine rationale Zahl), daher passt das zweite when und das Programm gibt rational aus.

Kursnavigation

Nach Typ abgleichen   |   gather und take