Курс по 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;

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

Числа / Числа с плаваща запетая   |   💪 Упражнения: Числа

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

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