Переменная - это просто место для хранения данных в памяти, откуда они могут быть быстро получены. Думайте об этом, как о почтовом ящике, куда можно положить данные или забрать их. К примеру, вы можете создать переменную, хранящую в себе ответ пользователя на вопрос или результат математического выражения.
Каждая переменная имеет имя (снова схожесть с почтовым ящиком), которое начинается с символа $ и может содержать символы латинского алфавита, цифры и знак нижнего подчёркивания "_". Вот несколько примеров:
$Var1
$vVariable
$My_Variable
Учтите, что все переменные не зависят от регистра: $MyVariable совпадает с $MyvARiAblE
Тип любой переменной - variant.
Переменные объявляются и создаются с помощью ключевых слов Local и Global, а также с помощью Dim, хотя это не рекомендуется.
Local $var1
Можно объявить несколько переменных на одной строке:
Local $var1, $MyVariable
Можно также присвоить значение переменной без предварительного её объявления, но многие предпочитают предварительное объявление.
$var1 = "создать и присвоить значение"
Константы объявляются и создаются с помощью ключевого слова Const и должны быть объявлены с присвоением значения
Const $const1 = 1, $const2 = 12
Константы могут быть объявлены и инициализированы (присвоено значение) с помощью ключевого слова Enum
Enum $const1 = 1, $const2, $const3 ; 1, 2, 3
Enum Step 2 $incr0, $incr2, $incr4 ; 0, 2, 4
Enum Step *2 $mult1, $mult2, $mult4 ; 1, 2, 4
После создания константы, её значение нельзя изменить. Уже существующую переменную нельзя объявить константой.
Область видимости переменной определяется тем, где и как вы её объявляете. Если вы объявляете переменную в начале скрипта или за пределами любой функции, она создаётся, как глобальная (Global) переменная, и доступна из любого места скрипта.
Если вы объявляете переменную внутри функции, она создаётся, как локальная (Local) переменная, и доступна только в этой же самой функции. Переменные, созданные внутри функции, автоматически уничтожаются после окончания её работы.
По умолчанию, переменные, объявленные с помощью Dim или созданные с помощью обычного присвоения внутри функции, получают локальную (Local) область видимости, если не существует глобальной переменной с таким именем (в этом случае глобальная переменная используется повторно). Это поведение может быть изменено с помощью ключевых слов Local и Global, которые позволяют принудительно объявить переменную в нужной области видимости.
Массив - это переменная, содержащая серию элементов данных одного типа.
Доступ к каждому элементу такой переменной возможен по его индексу.
Пример:
Необходимо сохранить последовательность символов: "A", "U", "T", "O", "I",
"T" и "3".
Для этого можно использовать 7 различных переменных... но использование
массива для этого эффективнее:
$Array[0] = "A"
$Array[1] = "U"
; ..etc..
$Array[6] = "3"
Для доступа к отдельному элементу массива используется его номер:
$MyChar = $Array[2]
В результате $MyChar будет содержать символ "T" (См. также: операторы).
Индекс также можно задавать переменной или выражением, что позволяет
строить сложные пути для доступа к элементам массива.
Массивы также могут быть многомерными, при использовании серии индексов. Представьте себе таблицу с колонками и строками, например:
$Array[0][0] = "Верхний левый"
$Array[1][0] = "Нижний левый"
$Array[0][1] = "Верхний правый"
$Array[1][1] = "Нижний правый"
(Значения здесь только для примера)
Максимальная размерность массива: 64 измерения. Общее число элементов массива не может превышать 2^24 (16 777 216).
Перед использованием массива необходимо объявить его, указав размеры и область видимости, используя одно из ключевых слов Global, Local, Static.
; Массив из 2 элементов, без присвоения значений
Local $aArray1[2]
; Массив из 7 элементов, только 3 элемента назначены
Local $aArray[7] = [3, 7.5, 'Строка']
Как правило массив содержит элементы только одного типа данных. Но поскольку переменная типа Variant в AutoIt может содержать любые данные (числа, строки, булевы значения), это позволяет содержать в массиве данные любого типа. Таким образом, массив в AutoIt может одновременно содержать в себе данные разного типа, и даже другие массивы:
$Array[0] = 1
$Array[1] = True
$Array[2] = "Текст"
$Array[3] = $AnotherArray
Использование массива, как элемента данных другого массива, может повлиять на скорость выполнения вашего скрипта.