Курс по 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. Верижно сравнение

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

Тест — Оператор-дума   |   Наложете реда