Cursus Raku / Geavanceerd / Besturingsstructuren / given en
when / Exercises / Matchen op
type
Oplossing: Matchen op type
Hier is een mogelijke oplossing voor de opgave.
Code
my $value = 3.14;
given $value {
when Int { say 'integer' }
when Rat { say 'rational' }
when Str { say 'string' }
}🦋 Je kunt de broncode vinden in het bestand match-by-type.raku.
Uitvoer
rationalOpmerkingen
Wanneer de waarde om mee te matchen een type is, vraagt de smart match of het topic van dat type is.
3.14is geenInt, dus de eerstewhenwordt overgeslagen.Een decimaal getal zoals
3.14is eenRat(een rationaal getal) in Raku, dus de tweedewhenmatcht en het programma druktrationalaf.