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

rational

Opmerkingen

  1. Wanneer de waarde om mee te matchen een type is, vraagt de smart match of het topic van dat type is. 3.14 is geen Int, dus de eerste when wordt overgeslagen.

  2. Een decimaal getal zoals 3.14 is een Rat (een rationaal getal) in Raku, dus de tweede when matcht en het programma drukt rational af.

Cursusnavigatie

Matchen op type   |   gather en take