Raku-Kurs / Grundlagen / Positionale Datentypen / Übungen / Eine Zahl schreiben
Lösung: Eine Zahl schreiben
Das folgende Programm hat ein eingebautes Array mit den Namen der Zahlen von 0 bis 20 und den Namen der Zehner: 20, 30 usw. In der Kette von bedingten Überprüfungen wird die Zahl einer der Regeln des Buchstabierens zugeordnet.
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 { # Zweistellige nicht-runde Zahlen, z.B. 34
say @names[$n / 10 + 18] ~ '-' ~ @names[$n % 10];
}
else { # Vielfache von 10, z.B. 50
say @names[$n / 10 + 18];
}
🦋 Finde das Programm in der Datei spell-a-number.raku.
Beispiel
Führe das Programm ein paar Mal aus, um alle drei Zweige der if
—elsif
—else
-Konstruktion zu überprüfen.
$ 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
Kursnavigation
← Typisierte Variablen / Allomorphe | Assoziative Datentypen →
Diese Seite wurde automatisch mit ChatGPT 4o übersetzt. Originaler englischer Text.
Übersetzungen dieser Seite: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська