Описание операторов | |
Операторы.
В команде exect поддерживает следующие операторы присвоения, математические операторы, операторы сравнения и логические операторы.
Операторы сравнения и логические операторы используются в тернарных условиях.Оператор | Описание |
---|---|
Операторы присвоения | |
= | Присвоение. Например: $var_i=5 (присваивает переменной $var_i число 5) |
Математические операторы | |
+ | Сложение. Например: 10+20 (равно 30) |
- | Вычитание. Например: 20-10 (равно 10) |
* | Умножение. Например: 20*10 (равно 200) |
/ | Деление. Например: 20/10 (равно 2) |
& | Объединение строк. Например: 'один'&10 (равно "один10") |
^ | Возведение в степень. Например: 2^4 (равно 16) |
Операторы сравнения (ниже указанные операторы, за исключением ==, не учитывают регистр при работе со строками, а при сравнении числа и строки, строка конвертируется в число по правилу функции Number) | |
= | Истинно, если значение слева равно значению справа. Например $var_i=5 (True (верно), если $var_i равно 5). |
== | Истинно, если строки равны между собой. Учитывает регистр. Значения будут конвертированы в строки, если они не являются таковыми. Этот оператор используется только со строками, когда сравнение должно происходить с учётом регистра. |
<> | Истинно, если значения не равны между собой. Чтобы учитывать регистр Not ($var_i1==$var_i2) |
> | Истинно, если первое значение больше второго. Строки сравниваются в лексикографическом* порядке. |
>= | Истинно, если первое значение больше или равно второму. Строки сравниваются в лексикографическом* порядке. |
< | Истинно, если первое значение меньше второго. Строки сравниваются в лексикографическом* порядке. |
<= | Истинно, если первое значение меньше или равно второму. Строки сравниваются в лексикографическом* порядке. |
Логические операторы | |
AND |
Логическая операция И. Например: ($var_i=5 AND $var_i2>6)
True (1), если $var_i равно 5 и $var_i2 больше, чем 6, иначе False (0) |
OR |
Логическая операция ИЛИ. Например: ($var_i=5 OR $var_i2>6)
True (1), если $var_i равно 5 или $var_i2 больше, чем 6, иначе False (0) |
NOT | Логическая операция НЕ. Например: NOT 1 равно False (0) Например: NOT ($var_i1==$var_i2)
True (1), если $var_i1 и $var_i2 не равны с учётом регистра, иначе False (0) |
Когда в выражении участвует больше одного оператора, порядок вычисления выражения определяется приоритетом операторов. Приоритеты, используемые в AutoIt даны ниже. Если два оператора имеют одинаковый приоритет - выражение вычисляется слева направо.
От высшего к низшему:
NOT
^
* /
+ -
&
< > <= >= = <> ==
AND, OR
Например
2+4*10
равняется 42:
4*10 (равно 40)
2+40 (равно 42)
Поскольку * имеет приоритет выше, чем +, умножение выполняется раньше сложения.
Вы можете использовать скобки, если необходимо задать другие приоритеты.
Например (2+4)*10 равно 60.
*лексикографический порядок означает, что сначала сравниваются первые символы каждой строки, затем вторые, и как только символы не равны возвращается True или False. В лексикографическом порядке большим значением обладает буква, у которой номер позиции в алфавите больше, то есть A < B, а учитывая цифры и другие символы порядок групп следующий: спец-символы < 0-9 < A-Z < А-Я, ещё пример А < АА < ААА < ААБ < ААВ < АБ < Б < … < ЯЯЯ, регистр букв не учитывается A=a.