@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")А как можно понять такую ошибку?
-
Сама ошибка выскакивает при запуске скрипта в режиме запуска
[07:17:03] Скрипт выполнен с ошибкой : SyntaxError: Parse error во время выполнения действия 388291661
В режиме записи процесс идет нормально, без ошибок.
В поиске по коду, ошибки с номером 388291661 не найдено.BAS на всякий случай переустанавливал...
-
@masterklas нашел причину - недавно созданный ресурс глючил. Точнее путь к нему нужно было прописывать при каждом запуске скрипта заново.
-
@masterklas
@masterklas said in А как можно понять такую ошибку?:
SyntaxError:
Хотя вы и нашли ошибку это всегда значит условия заданные вами неверны. От таких ошибок не поможет и игнорирование. (В чем вы разобрались и сами. Он не мог найти путь к ресурсу.) Отработка норм в записи и ошибка в работе часто связанна с тем что в записи вы сами могли указать его в процессе, а после рестарта он его не помнит. В общем если такое вылазит ничего переустанавливать не надо надо лопатить код.
upd иногда бывает что при обновлении баса, но это различия в версиях. Тут опять лопатить код. Переписать его под новую версию баса.