Курс Raku / Розширені / Оператори

Огляд поведінки операторів

Коли вираз містить кілька операторів, Raku має вирішити, в якому порядку їх застосовувати. Цим керують два правила: пріоритет і асоціативність.

Пріоритет

Пріоритет визначає, який оператор зв’язується міцніше. Множення має вищий пріоритет за додавання, тож воно відбувається першим:

say 2 + 3 * 4; # 14

Вираз читається як 2 + (3 * 4), даючи 14, а не 20. Ви завжди можете скористатися дужками, щоб нав’язати інший порядок:

say (2 + 3) * 4; # 20

Асоціативність

Асоціативність визначає порядок між операторами однакового пріоритету. Віднімання є лівоасоціативним, тож воно групується зліва:

say 8 - 3 - 2; # 3

Це (8 - 3) - 2, тобто 3. Піднесення до степеня, навпаки, є правоасоціативним:

say 2 ** 3 ** 2; # 512

Тут вираз групується як 2 ** (3 ** 2), тобто 2 ** 9, що дорівнює 512.

Ланцюжки порівнянь

Оператори порівняння можна об’єднувати в ланцюжки, що читається природно й робить те, чого ви очікуєте з математики:

say 1 < 2 < 3; # True
say 1 < 5 < 3; # False

Середнє значення порівнюється з обома сусідами: 1 < 2 < 3 істинне, бо істинні і 1 < 2, і 2 < 3.

Практика

Виконайте 1 тест за змістом цієї теми.

Вправи

У цьому розділі 3 вправи. Перш ніж братися до практики, вивчіть усі теми розділу.

  1. Примусити порядок
  2. Вежа степенів
  3. Ланцюгове порівняння

Навігація курсом

Тест — Словесний оператор   |   Примусити порядок