@Alex84 очень классно что ты сообщил, взял на вооружение! спасибо
Цыкл фор ломается
-
@tet-vivi said in Цыкл фор ломается:
@Bigma

Он не отработал цыкл, он из него вывалился на 3 проходе, а должен был 6 раз пройти.
-
@tet-vivi said in Цыкл фор ломается:
@Bigma метка end конец текущего основного цикла и переход на новый.
для этого можно юзать например

Не подходит, мне нужно на 3функции выше выйти. И городить переменные ифы и брейки можно, но это жесть
-
@Bigma said in Цыкл фор ломается:
@tet-vivi said in Цыкл фор ломается:
@Bigma метка end конец текущего основного цикла и переход на новый.
для этого можно юзать например

Не подходит, мне нужно на 3функции выше выйти. И городить переменные ифы и брейки можно, но это жесть
так это ваш иф и выход там где и планировалось вами происходит
-
@tet-vivi Чтобы без. Меток выйти на три уровня выше - нужно в 4 уровне создать переменную брейк, выйти по брейку, в третьем проверить брейк и если да то выйти по брейку во вторую и так далее. Затем обнулить эту переменную, не так уж страшно выглядит, но если таких ветвлений больше чем одно, это огромное нагромождение кода.
-
@tet-vivi Все верно, поэтому и описал что нужно делать чтоб в одном верхнем цикле, пропустить выполнение 3 вложенных в зависимости от ошибки, но при этом чтоб основной цикл продолжил работу с измененными параметрами. Вообщем я не спорю с тобой. Баг есть. Как обойти, я придумаю.
-
@Bigma said in Цыкл фор ломается:
@tet-vivi Все верно, поэтому и описал что нужно делать чтоб в одном верхнем цикле, пропустить выполнение 3 вложенных в зависимости от ошибки, но при этом чтоб основной цикл продолжил работу с измененными параметрами. Вообщем я не спорю с тобой. Баг есть. Как обойти, я придумаю.
что бы задействовать метки всё равно применяются условия у тебя.
-
@tet-vivi said in Цыкл фор ломается:
что бы задействовать метки всё равно применяются условия у тебя.
В одном месте, а надо будет во всех функция верхнего уровня проверки делать и по брейку выходить все выше и выше ...
-
@tet-vivi сам подумай -
уровень 1 сделать 10 раз
вложенный уровень 2 сделать 1000 раз тяжелых действий.
вложенный уровень 3 сделать 1000 раз тяжелых действий.
вложенный уровень 4 сделать 4 легких действия. Но происходит фатальная ошибка и нужно изменить входящие параметры на уровне 1
Чтобы вернуться на уровень один сразу из уровня 4, что ты сделаешь без меток ? -
@Bigma если уровни просто функции, как в примере, то достаточно одного брейк или континью.
перед брейк и континью изменить переменную.
в начале главного цикла проверять, если изменилось то внести "нужно изменить входящие параметры"вот если бы под вложенностями у тебя были циклы - тогда веселей
-
This post is deleted!