Операторы
Оператором является обозначение, которое применяется к определенным данным (таким, как числа или строки) и сообщает системе, что с ними нужно делать. Как только система выполнила оператор для данных (т.е. как только оператор "сработал"), вы всегда получаете какой-либо результат или значение. Общие операторы включают + (сложение, как в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, если первая строка совпадает с регулярным выражением, определяемым вторым аргументом.
Если нет совпадения или частичного совпадения, операция оценивается как FALSE
.
Examples:
Example | Evaluation Value | Notes |
---|---|---|
|
| Обратите внимание, что символ “\” должен быть экранирован в строке регулярного выражения. |
|
| Хотя было найдено частичное совпадение, |
|
| Есть два совпадения для этого регулярного выражения в первом аргументе. Это оценивается как |
|
| Первый аргумент оценивается как число с плавающей запятой (Float), затем приводится к строке (String) для получения |
|
| Математические операции могут выполняться в обоих аргументах. Если результаты можно привести к строке, они будут оцениваться как регулярное выражение. |
|
| Второй аргумент оценивается как |
Аддитивный оператор
Если хотя бы один из аргументов - строка, второй аргумент конвертируется в его строковое представление. В данном случае, результатом вычисления становится результат сцепления этих строк.
Пример:
Имеет результат "test123". |