@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")Есть решение этой логической задачи ?
-
@Fox в моей задаче наверху список урлов.
если после клика урл не поменялся за 30 секунд, то по метке идет наверх, берет из списка новый урл, грузит. кликает.-metka1
-взять из списка сайт и загрузить. дождались загрузку (проверено). текущий урл.
-старый урл = текущий урл
-проверить существование элемента
--да, есть. клик. если нет - сон пару сек, идем к metka1
---for 1 до 30
----текущий урл получить
----текущий урл != старый урл
----- да -> break
----сон 1с
--if текущий урл == старый урл перейти к metka1
-действие77ладно. если увижу баг повторно - сделаю тестовый.
-
@DoctorKrolic said in Есть решение этой логической задачи ?:
@Fox Не встречали задачу, которую нельзя решить без меток?) Пожалуйста: любой вложенный цикл. Ибо там используется одна и та же переменная, поэтому внутренний цикл приходится реализовывать с помощью метки.


-
@kuzkuz said in Есть решение этой логической задачи ?:
как мне сделать большой список в скрипте ез всяких баз, ресурсов, файлов.
из буфера? сделаю тестовый скрипт.
но в список надо закинуть хотя бы сотню сайтов.Чегось? Ваш вопрос касается этой темы, или вы про другое?
-
@Fox said in Есть решение этой логической задачи ?:
@kuzkuz said in Есть решение этой логической задачи ?:
как мне сделать большой список в скрипте ез всяких баз, ресурсов, файлов.
из буфера? сделаю тестовый скрипт.
но в список надо закинуть хотя бы сотню сайтов.Чегось? Ваш вопрос касается этой темы, или вы про другое?
Конечно касается.
Я хочу показать тестовый скрипт.
Но мне в скрипте надо иметь большой список сайтов. Я же нее буду руками в список их забивать (100шт)-metka1
-взять из списка сайт и загрузить. дождались загрузку (проверено). текущий урл.
-старый урл = текущий урл
-проверить существование элемента
--да, есть. клик. если нет - сон пару сек, идем к metka1
---for 1 до 30
----текущий урл получить
----текущий урл != старый урл
----- да -> break
----сон 1с
--if текущий урл == старый урл перейти к metka1
-действие77 -
@kuzkuz said in Есть решение этой логической задачи ?:
Конечно касается.
Я хочу показать тестовый скрипт.
Но мне в скрипте надо иметь большой список сайтов. Я же нее буду руками в список их забивать (100шт)Можете использовать js, действие "выполнить код":
[[ARR]] = ["https://www.google.com","https://yandex.ru/","и т.д."]добавьте в мой алгоритм действие "foreach" и всё
-
Ну тогда выведите содержимое переменных в лог, тогда возможно и увидите ошибку.
Вообщем я закончу на том, что само собой такой вывод в лог сделан.
3 недели работало ровно. Сегодня 1 раз словил баг.
Пишет что урл старый, при этом отрисовал новое.
От меня была тема где бывало наоборот тоже 1 случай на 500.
Пишет что урл новый, а нарисовано старое.
За сим закончу. -
@fluffik не вижу смысла изгаляться не зная какой элемент проверять на наличие после клика.
Самое ровное решение это (не считая метки. можно без неё обойтись).
-metka1
-взять из списка сайт и загрузить. дождались загрузку (проверено). текущий урл.
-старый урл = текущий урл
-проверить существование элемента
--да, есть. клик. если нет - сон пару сек, идем к metka1
---for 1 до 30
----текущий урл получить
----текущий урл != старый урл
----- да -> break
----сон 1с
--if текущий урл == старый урл перейти к metka1
-действие77
