Курс языка программирования 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. Цепочечное сравнение

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

Тест — Словесный оператор   |   Задайте порядок