Перейти к основному содержимому

Оператор

Введение

Язык Wave предоставляет различные операторы для выполнения вычислений между переменными, логических решений, сравнений, битовых операций и т.д.

В этом документе подробно описаны основные операторы, доступные в Wave, классифицированные по типу с объяснением их работы и примерами использования.

Операторы делятся на следующие категории:

  • Арифметические операторы
  • Операторы сравнения
  • Логические операторы
  • Побитовые операторы
  • Операторы присваивания
  • Другие специальные операторы

Арифметические операторы

Арифметические операторы выполняют основные математические операции с числовыми данными.

ОператорОписаниеПример (a = 10, b = 3)
+Сложениеa + b13
-Вычитаниеa - b7
*Умножениеa * b30
/Делениеa / b3 (целочисленное деление)
%Остаток от деленияa % b1

Операторы сравнения

Операторы сравнения возвращают значение bool в результате сравнения двух значений.

ОператорОписаниеПример (a = 10, b = 3)
==Равноa == bfalse
!=Не равноa != btrue
<Меньшеa < bfalse
>Большеa > btrue
<=Меньше или равноa <= 10true
>=Больше или равноa >= btrue

Логические операторы

Логические операторы обрабатывают комбинации истинности для значений bool.

ОператорНазваниеОписаниеПример
&&Логическое Иtrue, только если оба значения truetrue && falsefalse
\`\Логическое ИЛИtrue, если хотя бы одно значение true\`true \
!Логическое НЕИнвертирует true в false и false в true!truefalse

Побитовые операторы

Побитовые операторы манипулируют целочисленными данными на уровне битов.

ОператорНазваниеОписаниеПример
&Побитовое И1, если оба бита равны 1a & b2
\`\Побитовое ИЛИ1, если хотя бы один бит равен 1b7\`
^Побитовое XOR1, когда биты разныеa ^ b5
~Побитовое НЕИнвертировать биты~a-7
<<Сдвиг влевоСдвигает биты влевоa << 112
>>Сдвиг вправоСдвигает биты вправоa >> 13

Операторы присваивания

Используются для присваивания значений переменным. В большинстве случаев можно сократить, комбинируя с арифметическими операторами.

ОператорОписаниеПример (a = 5)
=Основное присваиваниеa = 10
+=Присваивание после сложенияa += 27
-=Присваивание после вычитанияa -= 14
*=Присваивание после умноженияa *= 315
/=Присваивание после деленияa /= 51
%=Присваивание остаткаa %= 41

Другие специальные операторы

Wave также предоставляет операторы с уникальным или особым значением.

ОператорНазваниеОписаниеПример
??Оператор объединения с nullЕсли левое значение равно null, используется правое значениеa ?? bесли a равно null, то b
?:Условный оператор (тернарный оператор)Выбор значения в зависимости от условияусловие ? истинное значение : ложное значение
вПроверка на принадлежностьПроверка, содержится ли значение в коллекции"a" в списке
являетсяОператор сравнения типовПроверка типа значенияx является i32
!&NANDЛогическая операция NANDРасширенные логические операции
\`!\NORЛогическая операция NORРасширенные логические операции
~^XNORЛогическая операция XNORРасширенные логические операции

Резюме

Wave предлагает разнообразные операторы, от математических операций и логического определения до манипуляции битами и условных переходов. Эти операторы взаимодействуют с переменными, формируют условия и являются важными инструментами для сложных вычислений или управления потоками.

Приоритет и направление связывания каждого оператора будут рассмотрены в разделе "Приоритет и порядок вычисления".