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