Коды останова
Некоторые действия парсера (выполняющие проверку какого-либо условия), в качестве значения параметра «Остановить» или параметра «Название набора действий», принимают специальные коды останова, — отрицательные значения от -1 до -9
Указание такого кода говорит парсеру, что при выполнении условия в действии, нужно остановить процесс выполнения списка действий.
Коды останова могут принимать следующие значения:
Код останова | Действия со стороны программы |
---|---|
-1 | выход из обработки текущим списком действий |
-2 | выход без обработки подуровней и вывода на лист |
-3 | выход без обработки остальных элементов текущего массива |
-4 | выход без обработки остальных элементов текущего массива, и останов верхних уровней обработки исходных данных |
-5 | принудительный переход к следующему значению исходных данных (на верхний уровень) |
-9 | полный останов парсера (завершение работы) |
Коды возврата / перехода на другое действие
Некоторые действия также поддерживают переход к другому действию в текущем списке действий (например, это умеет действие Проверка на выполнение условия).
В этом случае, вместо кода останова (отрицательное значение) указывается код перехода на другое действие — положительное числовое значение (от 1 и до количества действий в списке). При выполнении условия, парсер перейдёт к выполнению действия с указанным номером.
Пример использования кода возврата / перехода на другое действие:
Действие | Параметр | Значение | Результат |
---|---|---|---|
Задать новое значение | Новое значение | 10 | Число |
Сохранить результат в переменную | |||
Использовать новое значение | да | ||
Сумма чисел | Сколько прибавить или вычесть | 3 | Число |
Количество цифр после запятой | 0 | ||
Проверка на выполнение условия | Режим проверки | не кратно | Число |
Значение для сравнения | 7 | ||
Действие при выполнении условия | Остановить | ||
Параметр действия | 2 | ||
Добавить текст ДО или ПОСЛЕ | Префикс | Минимальное число вида 10 + 3*X равно | Текст |
Суффикс |
В этом примере, парсер добавляет к исходному значению 10 число 3, и проверяет, делится ли результат на 7. Если не делится, то выполняется переход на действие с номером 2 (второе действие в списке — Сумма чисел), т.е. снова выполняется суммирование с числом 3 и проверка на делимость.
После нескольки суммирований мы получаем результат (число 28), которое не проходит проверку «не делится на 7», и парсер продолжает выполнять действия из списка ниже
ВНИМАНИЕ: крайне осторожно используйте кода перехода к другому действию, поскольку это может вызвать зацикливание парсера!