Нужна помощь в написании скрипта? Close

Вы можете задать любой вопрос по программе Autohotkey в нашей группе Вконтакте. Если решение требует более высокой квалификации- можно обратиться непосредственно ко мне.

ВконтактеГруппа Вконтакте Электронная почтаЭлектронная почта Личная страницаСимаков Яков ВК
home icon Все разделы
comunity icon Нужна помощь?

Loop (обычный)

Loop [, Count]

Параметры

CountУказывает, сколько раз повторять участок кода (сколько интераций).
Если опущен- цикл будет повторяться, пока не встретит Break или Return.

Параметр Count может задаваться переменной, например %CountVar%. Если переменная пустая, или ее значение меньше 1- цикл будет пропущен.

Из-за ограничений, связаных с поддержкой Loop (files), Loop (registry) Count не может быть обычным выражением.
Но эту особенность можно обойти используя конструкцию Loop % Count + 1, в этом случае выражение выполнится только один раз перед началом цикла.

Дополнение

Цикл Loop обычно использует блок скобок {...} для образования тела цикла, однако скобки можно опустить, если тело цикла содержит только одну команду.

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

Вместо меток (Label:) и Goto, Label лучше использовать циклы Loop- это делает код более читабельным. Для ожидания выполнения условия можно использовать If, break, continue.


Встроенная переменная A_Index содержит номер текущей интерации (шага) цикла.
Так при первом выполнении цикла она будет содержать 1, при втором 2 и так далее. Вне цикла A_Index всегда содержит 0.


Смотрите также специализированные циклы Loop для перебора файлов и папок, чтения ключей реестра, разделения строк и т.д.

Пример

Loop, 3 { MsgBox, Iteration number is %A_Index%. ; A_Index will be 1, 2, then 3 Sleep, 100 } Loop { if a_index > 25 break ; Terminate the loop if a_index < 20 continue ; Skip the below and start a new iteration MsgBox, a_index = %a_index% ; This will display only the numbers 20 through 25 }
Автор перевода: Humphrey
Настоящее имя переводчика: Симаков Яков
Под редакцией ahk-wiki.ru от 21.08.19