Перейти к основному содержимому

Приёмы управления потоком

  • while (условие). Цикл for, шаг которого присваивает переменной её же значение.
  • break. Выведите переменную цикла за её предел или сбросьте флаг «продолжать», который проверяет условие.
  • continue. Оберните остаток тела в if.
  • n % d. n - (n / d) * d
  • cond ? a : b. if (cond) x = a; else x = b;
  • Повторно используемая функция. Поместите код в именованный фрагмент и запускайте его через SnippetExecuteScript. У фрагмента собственные переменные, поэтому передавайте значения через Storage.
// while: ждать появления окна до 5 секунд
w = WindowFindByTitle("Untitled - Notepad");
for (tries = 0; !w && tries < 50; tries = tries + 1) {
UtilityWait(100);
w = WindowFindByTitle("Untitled - Notepad");
}

// break: остановиться на первом совпадении
found = -1;
n = StringSplit("alpha,beta,gamma,delta", ",");
for (i = 0; i < n; i = i + 1) {
if (StringStartsWith(StringGetSplitPartAt(i), "g")) {
found = i;
i = n; // завершает цикл после этого прохода
}
}

// continue: пропускать пустые части
for (i = 0; i < n; i = i + 1) {
part = StringGetSplitPartAt(i);
if (part) {
UtilityPrint(part);
}
}