Курс Раку / Основи / Числа

Операції з числами

Без сумніву, ви вже знаєте деякі операції, які можна виконувати з числами в 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 4o. Оригінальний текст англійською мовою.

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