@sten30 said in Не работает модуль npm telegram GramJS в Node 18.10.0:
Error: Cannot find module 'input'
А причем тут версия Nodejs, у вас ошибка говорит об отсутствие этого модуля
два то зачем, одного бы хватило
@ruzne said in Не верно работает логика скрипта continue:
вероятно
я могу ошибаться как я и говорил, функция - именованый блок действий, поэтому назвав это блоком я много не ошибся.
называть это функцией я все же не буду потому что как функция это себя не ведет.
@zizitop
чтобы прямо исправится за все косяки за которые меня тут подтягивают предложу использовать
вместо континуе
_next(2)
вместо бряка
_break(2)
2 - по числу вложеностей.
вот, функции сремные.
@DrPrime
претензия к функциям следующая
function a(){
log('1');
i++;
if(i<5){
a();
}else{
log('2');
}
log('3');
}
i=0;
a();
это работать не будет. ошибка иф елзе экспрешен. условие в ифе не вычислено, точнее вычислено но благополучно забыто, а должно было быть сохранено при вызове функции и востановлено при возврате из функции.
вывод функции поддельные.
@ruzne said in Не верно работает логика скрипта continue:
чтобы прямо исправится за все косяки за которые меня тут подтягивают предложу использовать
вместо континуе
_next(2)вместо бряка
_break(2)2 - по числу вложеностей.
А как этот самый _next(2) мне впихнуть и в виде чего, переменной или как произвольный код или без разницы?
@zizitop
в данном конкретном случае _next(3) точно работает как континуе для внешнего по отношению к функции циклу
я провелил, если степень вложености изменится, то насколько выше или ниже нужно будет другой аргумент некст указывать, вероятно можно не только на сколько выше ниже указать но и метку в дефолтном континуе например внутри на самом деле вызов _next("function")
я вот еще закгрузку в игнорировать ошибки обернул чтобы это заработало
@ruzne Да, если загрузку обернуть в игнор ошибок все работает с некстом.
@ruzne said in Не верно работает логика скрипта continue:
вероятно можно не только на сколько выше ниже указать но и метку в дефолтном континуе например внутри на самом деле вызов _next("function")
А как реализуется эта самая "метка в дефолтном континуе", что то не пойму?
@zizitop
Тебе нужно вместо Continune в функциях сделать Выполнить код
VAR_NEED_NEXT = true
_break()
В цикле после каждой функции блок IF с условием [[NEED_NEXT]]
Внутри которого
Установить переменную NEED_NEXT в значение false с типом данных expression
И блок Continune
Так же перед циклом
Установить переменную NEED_NEXT в значение false с типом данных expression
Костыль конечно, но по другому никак