Raku kurss / Pamati / Pozicionālie datu tipi / Vingrinājumi / Skaitļa izrunāšana

Risinājums: Skaitļa izrunāšana

Zemāk redzamajā programmā ir iebūvēts masīvs ar skaitļu nosaukumiem no 0 līdz 20 un desmitu nosaukumiem: 20, 30 utt. Nosacījumu ķēdē skaitlis tiek sadalīts vienā no izrunas noteikumiem.

Kods

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 { # Divciparu nenoapaļoti skaitļi, piem., 34
    say @names[$n / 10 + 18] ~ '-' ~ @names[$n % 10];
}
else { # Desmitu reizinājumi, piem., 50
    say @names[$n / 10 + 18];
}

🦋 Atrodiet programmu failā spell-a-number.raku.

Piemērs

Palaidiet programmu vairākas reizes, lai pārbaudītu visas trīs ifelsifelses konstrukcijas zarus.

$ 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

Kursa navigācija

Tipizētie mainīgie / Allomorfi   |   Asociatīvie datu tipi

Šī lapa ir automātiski tulkota ar ChatGPT 4o. Oriģinālais teksts angļu valodā.

Šīs lapas tulkojumi: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська