Курс по 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 упражнения. Разгледайте всички теми в раздела, преди да се захванете с практиката.