@Roy-Mustang Спасибо, добрый человек ) Не могу лайкнуть, рейтинга не хватает. Наконец-то всё нормально работает у меня.
Удалить текущий элемент
-
@WildBee said in Удалить текущий элемент:
Апну тему, т.к. проблема все еще есть в предпоследний версии BAS. Есть какое-то решение? (Удаляется не только текущий элемент, но и все над ним)
При этом одинаковых строк нет, все разныеЯ уже описывал это поведение:
https://community.bablosoft.com/topic/7811/странно-работает-удалить-текущий-элемент/6
-
@Fox Фокс , ты там описал ситуацию где нет повторяющихся строк в ресурсе, увеличение "успешных выполнений" не решает проблему если в ресурсу повторяются значения
123123123
123123123
123123123
Если сделать цикл из двух итераций, где врать из ресурса значение в переменную и после удалять текущий элемент, то удаляться все три строки. И это БАГ, который до сих пор не исправили -
@val2020 said in Удалить текущий элемент:
@Fox Фокс , ты там описал ситуацию где нет повторяющихся строк в ресурсе, увеличение "успешных выполнений" не решает проблему если в ресурсу повторяются значения
123123123
123123123
123123123
Если сделать цикл из двух итераций, где врать из ресурса значение в переменную и после удалять текущий элемент, то удаляться все три строки. И это БАГ, который до сих пор не исправилиОдинаковые строки в ресурсе из файла BAS удаляет
-
@val2020 said in Удалить текущий элемент:
@Fox Ну так надо чтото с этим сделать, нет возможности обойти этот костыль в скрипте и приходится делать дубли
Например?
очень хочется чтобы BAS удалял строку которую использовал а не все по "значению"
Ок
-
-
@val2020 said in Удалить текущий элемент:
@Fox Не могу сюда выложить к сожалению, скрипт используется в транзакциях и уже протестирован, каждый тест стоит денег, нет уже возможности переделать ресурс и протестировать, дорого) а надо -то всего удалять строку которая использовалась )
Я не прошу выкладывать скрипт, вы можете всего лишь описать ситуацию, когда без дублирования строк в ресурсе не обойтись
-
@Fox said in Удалить текущий элемент:
Я не прошу выкладывать скрипт, вы можете всего лишь описать ситуацию, когда без дублирования строк в ресурсе не обойтись
Таких ситуаций полно!
Самая простая - допустим те же пф
Есть список ключевых слов. Но на одни надо чаще, на другие реже заходить. Тупо делаем дубли 10 раз тех что надо чаще и мешаем строки.
Казалось бы ресурс готов. Но при удалении использованной строки, удаляются и все наши дубли ...
И вот таких вариантов куча может быть.
-
@kingsize said in Удалить текущий элемент:
Есть список ключевых слов. Но на одни надо чаще, на другие реже заходить. Тупо делаем дубли 10 раз тех что надо чаще и мешаем строки.
почему бы не использовать для этого списки?
вообще можно было бы продумать систему получше.
т.е. например учитывать рендомность использовать или нет строку и возможность указывать вероятность срабатывания.
хотя то что вы используете для повышения частоты просто дублирование строк... -
@tet-vivi придумать всегда можно что-то. Смысл в том что удалить текущий элемент логично предполагает, что это текущий, а не все следующие и предшествующие, похожие на него ...
На этом многие грабли наломали, я по началу полгода не замечал, что все идет не по плану ... -
Спустя еще несколько лет, проблема остаётся
Делаем скрипт в 100 потоков и логику в нем чтобы если переменная = слову невалид, то он её удалял, в файле 17 слов "невалид" и 81 "валид"
После работы скрипта получаем вот такое
Помоему так не должно быть
Тестовый скрипт test.xml
Тестовый файл чтобы запихать в тестовый скрипт
тест.txt -
@fluffik если нужен костыль - то создай отдельный файл и в него записывай только удачные потоки, а не удачные можешь закрывать, например по Fail.
Второй вариант - изначальный файл создавать в формате и в скрипте парсить строку на id и фразу:
1;валид
2;невалид
3;валид
4;валид
и т.д.Если же это негодование - то смириться и терпеть __))