Баг связанный с функцией ELSE

Поддержка
  • Если минуется начальное условие If то как может запрашиваться Else?

  • @warenuk Я уже написал, что такое возможно через метку. Тк в бас if else это две отдельные функции и поэтому такое возможно.

  • @warenuk said in Баг связанный с функцией ELSE:

    Происходит это уже раз 5-тый в этой обнове. Всё работает нормально, скрипт выполняется сотни раз в том же месте и в определенный момент появляется такая ошибка

    Есть такая ошибка в рекурсии
    0_1541362419597_на форум 15.gif

    Стек вызова запоминает из какой функции вызывалась каждая другая функция, даже в случае рекурсии. По возвращении пытается завершить начатую функцию, возвращаясь в условие проходит else и удаляет переменную условия для else, возвращаясь в это же условие второй раз не может выполнить else, так как действие в предыдущий раз удалило переменную:

          section_start("", 899064356)!
          
          IF_ELSE_EXPRESSION_845013 = VAR_NEW_VARIABLE < 5;
          _if(IF_ELSE_EXPRESSION_845013,function(){
          section_insert()
             section_start("", 129017719)!
             
             _call(toster,null)!
             section_end()!
    
          })!
          section_end()!
    
          section_start("\u007b\u0022n\u0022:\u0022Else\u0022\u007d", 83727063)!
          
          _if(!IF_ELSE_EXPRESSION_845013,function(){
          section_insert()
             section_start("", 972370824)!
             
             _call(ne_toster,null)!
             section_end()!
    
          })!
          delete IF_ELSE_EXPRESSION_845013; //после прохода else удаляется переменная
          section_end()!
    

    Вот тестовый скрипт


    Если мы не будем удалять переменную else, то скрипт отработает все else равным количеству циклов рекурсии

          section_start("", 899064356)!
          
          IF_ELSE_EXPRESSION_845013 = VAR_NEW_VARIABLE < 5;
          _if(IF_ELSE_EXPRESSION_845013,function(){
          section_insert()
             section_start("", 129017719)!
             
             _call(toster,null)!
             section_end()!
    
          })!
          section_end()!
    
          section_start("\u007b\u0022n\u0022:\u0022Else\u0022\u007d", 83727063)!
          
          _if(!IF_ELSE_EXPRESSION_845013,function(){
          section_insert()
             section_start("", 972370824)!
             
             _call(ne_toster,null)!
             section_end()!
    
          })!
          //delete IF_ELSE_EXPRESSION_845013;  заэкранировали удаление переменной
          section_end()!
    

    0_1541363706033_на форум 16.gif
    Вот тестовый скрипт


    Лечится простым использованием второго условия, противоположному первому, вместо else.
    0_1541364077301_bacd24bb-5794-471d-8a8c-19c0cc0db8d9-изображение.png
    Вот тестовый скрипт


    Ошибка старая, но на всякий случай продублировал @support

  • @fox said in Баг связанный с функцией ELSE:

    else,

    Благодарю за исчерпывающий ответ!

  • Возвращайся также меткой.

  • @fox Да, согласен, постараюсь исправить к следующей.

  • This post is deleted!
  • @masterklas-s said in Баг связанный с функцией ELSE:

    Я правильно понимаю что фикса проблемы нет на сегодняшний день?

    Фикс? Это правильное поведение и ваш вопрос не относится к данной теме.

    вместо того, чтобы сработала else.

    Нет, это просто вы так решили

    что клиенты (которые зачем то туда смотрят) просто в шоке.

    С такими вопросами я надеюсь вы бесплатно предоставляете скрипты клиентам...

    Я злой? Нет, просто ох..еваешь порой от таких постов, вы не только не посмотрели видео от разработчика, но и решили, что это баг который как-то должны пофиксить. И о боже, клиенты...

    Оператор typeof в помощь!

  • This post is deleted!
  • @masterklas-s said in Баг связанный с функцией ELSE:

    @UserTrue said in Баг связанный с функцией ELSE:

    Я злой?

    Вы пьян вероятно.

    Я трезв!

    Вопрос удалил.

    Что так, если я пьян, то зачем удалять?

    Ответа не требуется.

    Но я его вам все таки дал в моем "бесмыслленом" посте. А вот вам ссылка на отрывок из видео https://www.youtube.com/watch?v=jwp-2JM0f6E&t=2887s

    @UserTrue said in Баг связанный с функцией ELSE:

    Оператор typeof в помощь!