Corso di Raku / Avanzato / Controllo di flusso / given e
when / Exercises / Matching per
tipo
Soluzione: Matching per tipo
Ecco una possibile soluzione del compito.
Codice
my $value = 3.14;
given $value {
when Int { say 'integer' }
when Rat { say 'rational' }
when Str { say 'string' }
}🦋 Puoi trovare il codice sorgente nel file match-by-type.raku.
Output
rationalCommenti
Quando il valore da confrontare è un tipo, lo smart match verifica se il topic è di quel tipo.
3.14non è unInt, quindi il primowhenviene saltato.Un letterale decimale come
3.14è unRat(un numero razionale) in Raku, quindi il secondowhentrova corrispondenza e il programma stamparational.