Курс по Raku / Основи / Повече за типовете / Позиционни типове данни / Exercises / Спелуване на число
Решение: Спелуване на число
Програмата по-долу има вграден масив с имената на числата от 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.
Пример
Стартирайте програмата няколко пъти, за да проверите всички три клона
на конструкцията
if—elsif—else.
$ 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