Курс по Raku / Основи / Позиционни типове данни / Упражнения / Спелуване на число

Решение: Спелуване на число

Програмата по-долу има вграден масив с имената на числата от 0 до 20 и имената на десетиците: 20, 30 и т.н. В редицата от условни проверки числото се разпределя към едно от правилата за изписване.

Код

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 { # Двузначни неокръглени числа, напр. 34
    say @names[$n / 10 + 18] ~ '-' ~ @names[$n % 10];
}
else { # Кратни на 10, напр. 50
    say @names[$n / 10 + 18];
}

🦋 Намерете програмата във файла spell-a-number.raku.

Пример

Стартирайте програмата няколко пъти, за да проверите всички три клона на конструкцията ifelsifelse.

$ 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

Навигация по курса

Типизирани променливи / Аломорфи   |   Асоциативни типове данни

Тази страница е автоматично преведена с ChatGPT 4.0. Оригинален текст на английски

Преводи на тази страница: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська