Операторы

Оператором является обозначение, которое применяется к определенным данным (таким, как числа или строки) и сообщает системе, что с ними нужно делать. Как только система выполнила оператор для данных (т.е. как только оператор "сработал"), вы всегда получаете какой-либо результат или значение. Общие операторы включают + (сложение, как в1+1), - (вычитание, как в 2-1) и т.д.

Одно выражение может содержаться несколько операторов, таких как 1 + 2 * 3. Операторы вычисляются в определенной последовательности - не так, как они записаны в строке (слева направо). Например, 1 + 2 * 3 вычисляется в 7, а не в 9, потому что оператор умножения имеет высший приоритет по сравнению с оператором сложения. Последующая таблица также показывает приоритет операторов - операторы, расположенные вверху таблицы, вычисляются первыми при вычислении выражения.

Для большинства операторов, если один из аргументов равен Null, результат также будет равен Null.

Приоритетнось операторов

Описание

Синтаксис

Пример

Типы аргументов

Тип результата

Скобки

()

(1 + 2) * 3

Any

Any

Побитовый НЕ оператор

~

~{a}

Numeric

Numeric

Логический НЕ оператор

!

!{x} > 0

Boolean

Boolean

Мультипликативные операторы

*   /   %

{d} * 3

Numeric

Numeric

Аддитивные операторы

+   -

{b} + {c}

Numeric (или String для "+")

Numeric (или String для "+")

Операторы битового сдвига и битового сдвига без знака

>> << >>>

{a} >> 2

Numeric

Numeric

Операторы отношения

>   <   >=   <=  

{a} >= 123

Numeric

Boolean

Операторы равенства и совпадения с регулярным выражением

==   !=   ~=

{name} == "test"

Любой (Strings только для "!=")

Boolean

Битовый И оператор

&

{z} & 0xFFFF

Numeric

Numeric

Битовый "исключающий ИЛИ" оператор

^

{y} ^ 0x1A

Numeric

Numeric

Битовый ИЛИ оператор

|

{x} | 0xFF

Numeric

Numeric

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

&&

{z} = 1 && {x} > 0

Boolean

Boolean

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

||

{x} > 5 || {y} < 1

Boolean

Boolean

Условный оператор

? :

{y} > 5 ? 1 : 0

Boolean для первого аргумента, любой тип для других аргументов

Любой

Скобки

Выражения могут также включать скобки, которые меняют приоритет операторов.

Пример:

1 + 2 * 3 вычисляются в 7

но        

(1 + 2) * 3 вычисляются в 9

Условный оператор

Условный оператор, ?:, может использоваться для условного вычисления выражений. Оператор состоит из трех аргументов. Первый аргумент вычисляется и возвращает значение типа Boolean. Если он возвращает TRUE, результатом оператора станет второй аргумент. Если первый аргумент является FALSE, результатом оператора станет третий аргумент.

condition ? value_if_true : value_if_false

Пример:

2 * 2 == 4 ? "Yes" : "No"

Разрешается в строку "Yes".

Оператор совпадения с регулярным выражением

Оба аргумента являются строками. Оператор возвращает true, если первая строка совпадает с регулярным выражением, определяемым вторым аргументом.

Если нет совпадения или частичного совпадения, операция оценивается как FALSE.

Examples:

Example

Evaluation Value

Notes

"Example" ~="\\w+"

TRUE

Обратите внимание, что символ “\” должен быть экранирован в строке регулярного выражения.

"Example" ~="Exam"

FALSE

Хотя было найдено частичное совпадение, Exam, полная строка не совпала, поэтому возвращаетсяFALSE.

"Example String" ~="\\w+"

FALSE

Есть два совпадения для этого регулярного выражения в первом аргументе. Это оценивается как FALSE, потому что регулярное выражение не полностью совпадает с первым аргументом.

3/5~="\\d+\\.6"

TRUE

Первый аргумент оценивается как число с плавающей запятой (Float), затем приводится к строке (String) для получения "0.6", которое точно соответствует регулярному выражению.

25 ~= 5*5

TRUE

Математические операции могут выполняться в обоих аргументах. Если результаты можно привести к строке, они будут оцениваться как регулярное выражение.

295 ~= 5/2

TRUE

Второй аргумент оценивается как 2.5, который приводится к строке (String), и так как символ . является шаблоном, он соответствует295.

Аддитивный оператор

Если хотя бы один из аргументов - строка, второй аргумент конвертируется в его строковое представление. В данном случае, результатом вычисления становится результат сцепления этих строк.

Пример:

"test" + 123

Имеет результат "test123".

Was this page helpful?