Cursus Raku / Essentiëlen / Positionele datentypen / Oefeningen / Schrijf een getal
Oplossing: Schrijf een getal
Het onderstaande programma heeft een ingebouwde array met de namen van nummers van 0 tot 20 en de namen van de tientallen: 20, 30, enz. In de keten van voorwaardelijke controles wordt het nummer verdeeld naar een van de regels van spelling.
Code
my $n = @*ARGS[0];
my @names = <
zero one two three four five six seven eight nine ten
eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen twenty
thirty fourty fifty sixty seventy eighty ninety >;
if $n < 20 {
say @names[$n];
}
elsif $n % 10 { # Tweecijferige niet-ronde nummers, bijv. 34
say @names[$n / 10 + 18] ~ '-' ~ @names[$n % 10];
}
else { # Veelvouden van 10, bijv. 50
say @names[$n / 10 + 18];
}
🦋 Vind het programma in het bestand spell-a-number.raku.
Voorbeeld
Voer het programma een paar keer uit om alle drie de takken van de if
—elsif
—elses
constructie te controleren.
$ raku exercises/positionals/spell-a-number.raku 5
five
$ raku exercises/positionals/spell-a-number.raku 12
twelve
$ raku exercises/positionals/spell-a-number.raku 67
sixty-seven
$ raku exercises/positionals/spell-a-number.raku 80
eighty
Cursusnavigatie
← Getypte variabelen / Allomorfen | Associatieve datentypen →
Deze pagina is automatisch vertaald met ChatGPT 4o. Originele Engelse tekst.
Vertalingen van deze pagina: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська