Курс 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;Навігація курсом
← Числа з плаваючою комою | Ділення яблука →
💪 Або перейдіть одразу до вправ цього розділу.