Как сейчас устроено ветвление через if-else?

Поддержка
  • @Fox said in Как сейчас устроено ветвление через if-else?:

    приложите наглядный тестовый скрипт

    Да. Постараюсь как можно скорее.

    Пока не получилось повторить ошибку искусственно((

    Смотрю что делал в исходном скрипте. Возможно причина в изменении значении переменных (по которым определяются условия) внутри самих веток if/else.

    Когда что-либо обнаружу - прикреплю пример.
    Довольно длинный алгоритм, много что происходит, трудно понять в чем может быть загвоздка.

  • @IvanM Бывают глюки, когда копируешь кубики с метками. Также замечал, что бывает и при копировании кубиков с циклами.

  • @smeckoi77 said in Как сейчас устроено ветвление через if-else?:

    @IvanM Бывают глюки, когда копируешь кубики с метками. Также замечал, что бывает и при копировании кубиков с циклами.

    Можете описать ошибку более подробно? Как я могу повторить эту ошибку?

  • @Fox said in Как сейчас устроено ветвление через if-else?:

    @smeckoi77 said in Как сейчас устроено ветвление через if-else?:

    @IvanM Бывают глюки, когда копируешь кубики с метками. Также замечал, что бывает и при копировании кубиков с циклами.

    Можете описать ошибку более подробно? Как я могу повторить эту ошибку?

    Создай в одном проекте метки и перекинь их другой. У меня был такой баг, пришлось заново метки применять.

  • @FastSpace said in Как сейчас устроено ветвление через if-else?:

    @Fox said in Как сейчас устроено ветвление через if-else?:

    @smeckoi77 said in Как сейчас устроено ветвление через if-else?:

    @IvanM Бывают глюки, когда копируешь кубики с метками. Также замечал, что бывает и при копировании кубиков с циклами.

    Можете описать ошибку более подробно? Как я могу повторить эту ошибку?

    Создай в одном проекте метки и перекинь их другой. У меня был такой баг, пришлось заново метки применять.

    Простое копирование действий с метками сработало корректно, может названия меток были особыми?

    support507.gif

  • @FastSpace проекты/проект был крупного размера?

  • @Fox said in Как сейчас устроено ветвление через if-else?:

    Простое копирование действий с метками сработало корректно, может названия меток были особыми?

    Другое.

    В общем сегодня фиксанул у себя в проекте такой баг:

    1)Вызов функции 1 (Создать профиль).

    2)Внутри функции 1 был вызов функции 2 (Получить отпечаток с перфект канвас)

    3)Внутри функции 2 были метки и было условие if-else, внутри этого else был еще один if-else и когда шло по второй ветке else и возвращалась меткой, то функция 2 просто зависала после успешной ее обработки (был получен отпечаток с канвас) и дальше ничего не происходило (1 из 5000 случаев где-то). Убрал этот второй if из первой ветки else и перенес его в функцию 1 и зависать перестало.

    Вывод для себя: Не делать лишних if в ветке else когда еще вызвана функция с метками.

  • @tet-vivi said in Как сейчас устроено ветвление через if-else?:

    @FastSpace проекты/проект был крупного размера?

    Да, в крупных было когда переносил код, метки название баговалось на кразозяру и вопросы ?????????? приходилось пересоздавать метки.

  • @FastSpace said in Как сейчас устроено ветвление через if-else?:

    @tet-vivi said in Как сейчас устроено ветвление через if-else?:

    @FastSpace проекты/проект был крупного размера?

    Да, в крупных было когда переносил код, метки название баговалось на кразозяру и вопросы ?????????? приходилось пересоздавать метки.

    названия меток в кириллице были?

  • @tet-vivi угу

  • @FastSpace Вот никогда бы не подумал, что ты Кирилицей что то пишешь как Новички :)))
    Мне как то дельный Совет Fox и UserTrue дали, стараться вообще Кириллицу не использовать ( у меня Ресурсы полностью на Русском были и был вот из за них даже глюк ) а тем более уж внутри Скрипта :)
    И перед Функциями или Меткой, ставлю просто не большой Сон и не сглазить бы :)))
    Но проблемы ушли :)
    ![alt text](f69af91e-e5a6-4bcc-bf14-b187776f5c12-image.png image url)

  • @super84 еще можно добавить использование пробелов тоже чревато может быть.(у кого то этим проблемы вылазили)

  • @super84 Это в старом шабе еще было году так в 2018.

  • @FastSpace Вот вот, а то я и то удивился, ты то уж Давней меня тут :)))

  • @Fox said in Как сейчас устроено ветвление через if-else?:

    Можете описать ошибку более подробно? Как я могу повторить эту ошибку?

    Я так и не смог повторить ошибку синтетически. Наплёл вложенных ветвлений, гонял их по разным маршрутам. Ничего не понял в итоге. Всё работает как должно работать.

    от никогда бы не подумал, что ты Кирилицей что то пишешь как Новички

    Блин, пошел себе исправлять на латынь))) Теперь я буду пользоваться метками.

    перед Функциями или Меткой, ставлю просто не большой Сон

    Ничоси. Шаманства этакие. И как ты догадался, что сон поможет?

    использование пробелов тоже чревато может быть

    Ты имеешь в виду пробелы в метках? У пробела тоже проблема с кодировкой?

  • @super84 а что значит сон "10" ? он же не спит менее 1сек как я понял ?

  • @IvanM пробел есть в стандарте по email адресам. но его использование может выйти боком.
    вроде встречал кириллицу и пробелы в названиях ресурсов.

  • @kuzkuz 10 милисекунд хватает вполне, и главное Работает :)
    Вот раньше, было частенько не с того ни с сего, начинает Ошибками сыпать на каждом Переходе на Функцию ( но это опять же через Условие ) и по Меткам.
    Теперь вот просто гляжу и где может произойти Затык, ставлю эту задержку и всё норм :)
    Видимо БАСу легче так, перед Переходом на что то, хоть малость Времени осознать что ему надо выполнить то то :)))
    Хотя хз, но говорю, мне помогает и времени много не тратится, супротив той же Секунды и БАСу видимо хватает и этого что бы не Проскочить ( кстати ещё вот, была проблема то даже что он Просто без этих Задержек Проскакивал будто и нет там ничего ) а сейчас норм.

    alt text

  • @super84 said in Как сейчас устроено ветвление через if-else?:

    @kuzkuz 10 милисекунд хватает вполне, и главное Работает :)

    Действие "сон" имеет минимальную продолжительность 1000мс, любое меньшее значение округлится до 1000.

    Вот раньше, было частенько не с того ни с сего, начинает Ошибками сыпать на каждом Переходе на Функцию ( но это опять же через Условие ) и по Меткам.
    Теперь вот просто гляжу и где может произойти Затык, ставлю эту задержку и всё норм :)
    Видимо БАСу легче так, перед Переходом на что то, хоть малость Времени осознать что ему надо выполнить то то :)))
    Хотя хз, но говорю, мне помогает и времени много не тратится, супротив той же Секунды и БАСу видимо хватает и этого что бы не Проскочить ( кстати ещё вот, была проблема то даже что он Просто без этих Задержек Проскакивал будто и нет там ничего ) а сейчас норм.

    А ещё можно узелочки заговоренные на комп вешать...

  • @Fox said in Как сейчас устроено ветвление через if-else?:

    Действие "сон" имеет минимальную продолжительность 1000мс, любое меньшее значение округлится до 1000.

    там не сон а какой то чекинг каждые 1000мс.
    т.е. весь таймаут округляет до секунды в большую сторону.
    если я не путаю.

  • 0 Votes
    2 Posts
    456 Views
  • 0 Votes
    2 Posts
    581 Views
  • 0 Votes
    4 Posts
    656 Views
  • 0 Votes
    7 Posts
    1594 Views
  • 0 Votes
    3 Posts
    1309 Views