Raku-Kurs / Grundlagen / Grundlagen zu Variablen und Datentypen / Zahlen
Operationen mit Zahlen
Es besteht kein Zweifel, dass Sie bereits einige der Operationen kennen, die Sie mit Raku-Zahlen durchführen können. Nur um zu erwähnen, dass das Symbol der Operation als Operator bezeichnet wird. Die Objekte, auf denen wir Operationen ausführen, werden Operanden genannt.
Arithmetik
Operator | Operation +
| Addition - | Subtraktion * | Multiplikation
/ | Division
Da Raku Unicode wirklich gut unterstützt, haben einige dieser Operatoren nicht-ASCII-Äquivalente:
× | Multiplikation ÷ | Division
Um die Reihenfolge der Ausführung zu ändern, verwenden Sie Klammern:
say 3 * 4 + 5; # 17
say 3 * (4 + 5); # 27Modulo
Der Modulo-Operator ist % wie in vielen anderen
Sprachen.
% | Modulo
Er gibt den Rest der ganzzahligen Division zweier Zahlen zurück, also
ist 10 % 3 1. Beachten Sie, dass
-10 % 3 2 ist, da das Ergebnis der Operation
als die Differenz zwischen der ersten Zahl und der abgerundeten Division
multipliziert mit der zweiten Zahl definiert ist. Also ist
$a % $b äquivalent zu
$a - $b * floor($a / $b).
Teilbarkeit
Raku fügt einen nützlichen Operator hinzu, um zu testen, ob die Zahl durch eine andere Zahl teilbar ist.
%% | Teilbarkeit
Dies ist ein Infix-Operator, der zwei Operanden benötigt:
10 %% 3. Wenn der erste Operand durch den zweiten Operand
teilbar ist, ist das Ergebnis ein boolesches True.
Andernfalls False.
Ganzzahloperationen
Es gibt spezielle Operationen, die ganzzahlige Ergebnisse zurückgeben. Ihre Operatoren sind Wörter anstelle von Symbolen.
div | Ganzzahldivision mod |
Ganzzahlmodulo
Der div-Operator rundet das Ergebnis ab, also ist
10 div 3 3, und -10 div 3 ist
-4.
Sowohl div als auch mod erwarten
ganzzahlige Operanden. Das folgende Programm funktioniert also nicht,
wenn Sie die als Error markierten Zeilen
auskommentieren:
say 10.3 % 3; # OK
# say 10.3 mod 3; # Error
say 10.3 / 3.3; # OK
# say 10.3 div 3.3; # ErrorPotenz
Es gibt zwei Möglichkeiten, das Ergebnis von x hoch
y zu erhalten. Erstens können Sie den **-Operator
verwenden:
say 3 ** 4; # 81Zweitens können Sie hochgestellte Ziffern verwenden, zum Beispiel:
say 3⁴; # 81Es ist möglich, mehr als eine hochgestellte Ziffer zu setzen, um den Wert der Potenz größer als 9 zu erhalten. Zum Beispiel:
say 2¹⁵; # 32768Negative Potenzen sind ebenfalls kein Problem:
say 2 ** (-2); ## 0.25
say 2⁻²; # 0.25Beachten Sie, dass das Ergebnis der letzten beiden Ausdrücke eine
Rat-Zahl ist.
Operationen mit Zuweisung
Alle Operationen unterstützen die Abkürzungssyntax, wenn Sie die
Variable aktualisieren müssen. Lassen Sie uns dies am Beispiel von
+ demonstrieren.
Die vollständige Form
$a = $a + $b;ist äquivalent zu:
$a += $b;Kursnavigation
← Fließkommazahlen | Apfelteilung →
💪 Oder springen Sie direkt zu den Übungen dieses
Abschnitts.