@vaxab23111 Тоже решил поучавствовать на разминки мозга, на 100% не претендует
function getCooficient(exp) { var matched = exp.match(/(\d+)[\s*+-/]*[A-z]/) if (matched) { return parseFloat(matched.pop()) } return 1 } function evalSide(exp) { var cleanExp = exp.replace(/\d*[\s*+-/]*[A-z]/, '') if (!cleanExp) return 0 return eval(cleanExp) } function invertResult(num) { return num > 0? -num : num } function solveEquation(equation) { var parts = equation.split("=") var leftSide = parts[0].trim() var rightSide = parts[1].trim() var coefficient = 1 var leftSideResult = evalSide(leftSide) var rightSideResult = evalSide(rightSide) if (/[A-z]/.test(leftSide)) { var coefficient = getCooficient(leftSide) leftSideResult = invertResult(leftSideResult) } else { var coefficient = getCooficient(rightSide) rightSideResult = invertResult(rightSideResult) } return (leftSideResult + rightSideResult) / coefficient } log(solveEquation("6 * X=14")); // выводит 2.3333333333333335 log(solveEquation("X+2=80")); // выводит 78 log(solveEquation("12+15=X")); // выводит 27 log(solveEquation("6 *X + 2=14")); // выводит 2 log(solveEquation("X+2 * 2=80")); // выводит 76 log(solveEquation("12+15/5=X")); // выводит 15 [[BAS_VARIABLE]] = solveEquation("6 * X=14")Как можно закрыть поток через определенное время?
-
Здравствуйте форумчане, иногда так бывает, что поток выполнить не получиться, но он все еще пытается выполниться. Можно как-то ограничить время существования его в ,например, 40 минут?
-
Тут скорее всего нужен мини скрипт на js. Где можно найти документацию API?
-
@nazar21015 said in Как можно закрыть поток через определенное время?:
Тут скорее всего нужен мини скрипт на js. Где можно найти документацию API?
Её нет. Просто надо писать нормально логику программы, делать ограничение на число попыток, например если было 5 ошибок подряд, то закрывать поток с ошибкой.
-
@nazar21015 said in Как можно закрыть поток через определенное время?:
@UserTrue А вообще она есть, для премиум например?
Нет, и там в принципе нет такой опции. Можно попробовать сделать подобное через асинхронные функции, но придется подумать )
@nazar21015 said in Как можно закрыть поток через определенное время?:
Легко сказать. Когда сайт ведет себя неадектватно, всегда по разному, миллион новых микроисключений не дадут тебе возможности.
Знаю, что не легко, но реально. Приходит с опытом )
-
@nazar21015 Премиум и обычная версия это один и тот же BAS, в преме нет супер функций и доп кнопок которые помогут решить все проблемы.
Так что стоит рассмотреть возможность фиксировать ошибки, либо не найденные элементы и выключать программу когда их наберется некое количество.
-
@nazar21015 начинаешь и стремишься сделать идеальную программу, но рабочая программа в итоге подпирается кучей костылей.