Операторы
Оператором является обозначение, которое применяется к определенным данным (таким, как числа или строки) и сообщает системе, что с ними нужно делать. Как только система выполнила оператор для данных (т.е. как только оператор "сработал"), вы всегда получаете какой-либо результат или значение. Общие операторы включают + (сложение, как в 1+1), - (вычитание, как в 2-1) и т.д.
Одно выражение может содержаться несколько операторов, таких как 1 + 2 * 3. Операторы вычисляются в определенной последовательности - не так, как они записаны в строке (слева направо). Например, 1 + 2 * 3 вычисляется в 7, а не в 9, потому что оператор умножения имеет высший приоритет по сравнению с оператором сложения. Последующая таблица также показывает приоритет операторов - операторы, расположенные вверху таблицы, вычисляются первыми при вычислении выражения.
Приоритетнось операторов
Описание | Синтаксис | Пример | Типы аргументов | Тип результата |
Скобки | () |
| Any | Any |
Побитовый НЕ оператор | ~ |
| Numeric | Numeric |
Логический НЕ оператор | ! |
| Boolean | Boolean |
Мультипликативные операторы | * / % |
| Numeric | Numeric |
Аддитивные операторы | + - |
| Numeric (или String для "+") | Numeric (или String для "+") |
Операторы битового сдвига и битового сдвига без знака | >> << >>> |
| Numeric | Numeric |
Операторы отношения | > < >= <= |
| Numeric | Boolean |
Операторы равенства и совпадения с регулярным выражением | == != ~= |
| Любой (Strings только для "!=") | Boolean |
Битовый И оператор | & |
| Numeric | Numeric |
Битовый "исключающий ИЛИ" оператор | ^ |
| Numeric | Numeric |
Битовый ИЛИ оператор | | |
| Numeric | Numeric |
Логический И оператор | && |
| Boolean | Boolean |
Логический ИЛИ оператор | || |
| Boolean | Boolean |
Условный оператор | ? : |
| Boolean для первого аргумента, любой тип для других аргументов | Любой |
Скобки
Выражения могут также включать скобки, которые меняют приоритет операторов.
Пример:
но
|
Условный оператор
Условный оператор, ?:
, может использоваться для условного вычисления выражений. Оператор состоит из трех аргументов. Первый аргумент вычисляется и возвращает значение типа Boolean. Если он возвращает TRUE
, результатом оператора станет второй аргумент. Если первый аргумент является FALSE
, результатом оператора станет третий аргумент.
condition ? value_if_true : value_if_false
Пример:
Разрешается в строку "Yes". |
Оператор совпадения с регулярным выражением
Оба аргумента являются строками. Оператор возвращает true, если первая строка совпадает с регулярным выражением, определяемым вторым аргументом.
Пример:
"abXXXX" ~= "^abc.*"
Возвращает Boolean false.
Аддитивный оператор
Если хотя бы один из аргументов - строка, второй аргумент конвертируется в его строковое представление. В данном случае, результатом вычисления становится результат сцепления этих строк.
Пример:
Имеет результат "test123". |