Обзор языка - операторы

Обзор языка - операторы

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.