Курс по Raku / Основи / Основи на променливите и типовете данни / Числа
Операции с числа
Няма съмнение, че вече знаете някои от операциите, които можете да извършвате с числа в Raku. Само да споменем, че символът на операцията се нарича оператор. Обектите, върху които извършваме операции, се наричат операнди.
Арифметика
Оператор | Операция +
| Събиране - | Изваждане * | Умножение
/ | Деление
Тъй като Raku поддържа Unicode много добре, някои от тези оператори имат не-ASCII еквиваленти:
× | Умножение ÷ | Деление
За да промените реда на изпълнение, използвайте скоби:
say 3 * 4 + 5; # 17
say 3 * (4 + 5); # 27Модуло
Операторът за модуло е %, както в много други езици.
% | Модуло
Той връща остатъка от целочисленото деление на две числа, така че
10 % 3 е 1. Обърнете внимание, че
-10 % 3 е 2, тъй като резултатът от операцията
се определя като разликата между първото число и закръгленото надолу
деление, умножено по второто число. Така че, $a % $b е
еквивалентно на $a - $b * floor($a / $b).
Делимост
Raku добавя полезен оператор за тестване дали едно число е делимо на друго число.
%% | Делимост
Това е инфиксен оператор, който изисква два операнда:
10 %% 3. Ако първият операнд е делим на втория операнд,
резултатът е Булев True. В противен случай,
False.
Целочислени операции
Има специални операции, които връщат целочислени резултати. Техните оператори са думи вместо символи.
div | Целочислено деление mod | Целочислено
модуло
Операторът div закръгля резултата надолу, така че
10 div 3 е 3, а -10 div 3 е
-4.
И двата оператора div и mod очакват
целочислени операнди. Така че, следната програма няма да работи, ако
разкоментирате редовете, маркирани като Error:
say 10.3 % 3; # OK
# say 10.3 mod 3; # Error
say 10.3 / 3.3; # OK
# say 10.3 div 3.3; # ErrorСтепенуване
Има два начина за получаване на резултата от x на степен
y. Първо, можете да използвате оператора **:
say 3 ** 4; # 81Второ, можете да използвате надписани цифри, например:
say 3⁴; # 81Възможно е да поставите повече от една надписана цифра, за да получите стойност на степен по-голяма от 9. Например:
say 2¹⁵; # 32768Отрицателната степен също не е проблем:
say 2 ** (-2); ## 0.25
say 2⁻²; # 0.25Забележете, че резултатът от последните две изрази е число от тип
Rat.
Операции с присвояване
Всички операции поддържат съкратен синтаксис, когато трябва да
актуализирате променливата. Нека го демонстрираме с примера на
+.
Пълната форма
$a = $a + $b;е еквивалентна на:
$a += $b;Навигация в курса
← Числа с плаваща запетая | Споделяне на ябълка →
💪 Или преминете направо към упражненията в този
раздел.