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 ifelsifelses 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: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська