@serrgo ДА, действительно. В данную тему я добавил еще 1 запрос, который был в заголовке, хотя определенно его нужно продублировать ниже. А еще мое название темы изменили. Я просил добавить возможность асинхронно выполнять действия в http client'e без создания функции каждый раз, что сложно когда их много и там еще мноого параметров
Проверить существование в ресурсе, удаление по значению
-
var lines = RMap("lines") var index = lines.indexOf("account1") if(index >= 0) log("Строка существует") else log("Строка не существует")сделал тест, список с 10 строками отработал нормально Строка существует
загрузил список 300 мб, 3 ляма строк, пишет Строка не существует -
@BabloUser indexOf() чувствителен к регистру. Плюс ограничение вроде на ресурсы было в 10 000 строк. Проявлялось при использовании базы, думаю здесь тоже проявилось.
-
@fox не это точно не регистр все строки с маленьких букв, скорое всего ограничение
ограничение я так понимаю обходить увеличением индекса в цикле
нужно придумать как после 10 к в глубину уходить
UPD
нет не 10 к список 400 к строк нормально сработал
можно в принципе на этом костыль замутить
нужно теперь через цикл второй раз запустить этот код но спуститься от 400 к строки чтобы он шерстил, есть мысли как можно реализовать?в цикле погонять по 400 к за один проход
блек листы огромные очень по 10 +к гигов эта фича нужна как воздух
в принцепе можно порезать листы по строкам и их в цикле теребить, но может есть решение покрасивее... -
@BabloUser Забудь ты нафиг эти костыли, закидывай в базу. Весить будет меньше и работать будет быстрее. Как ни как базы для этого и придумывали.
-
@support said in Проверить существование в ресурсе, удаление по значению:
@fox Исправил. Постараюсь побыстрее добавить новое апи в интерфейс и сделать описание всех действий из модуля "Ресурсы"
Версия BAS 21.0.1, работают все методы, кроме set(index, value). Ресурс в BAS'e меняет значение, но файл остаётся неизменным.
-
@fox said in Проверить существование в ресурсе, удаление по значению:
@support said in Проверить существование в ресурсе, удаление по значению:
@fox Исправил. Постараюсь побыстрее добавить новое апи в интерфейс и сделать описание всех действий из модуля "Ресурсы"
Версия BAS 21.0.1, работают все методы, кроме set(index, value). Ресурс в BAS'e меняет значение, но файл остаётся неизменным.
Официальный ответ, на случай если кто то будет работать с методом set(index, value)
Метод sync работает только с добавлением/удалением строк. Используйте действие "Ресурс В Список" и "Записать Список В Файл" вместо test.syncЯ проверил, действительно, изменённый методом set(index, value) ресурс помещается в список с изменениями и этот список можно записать в файл. Немного костыльно как по мне, но работает.
-
@kgera said in Проверить существование в ресурсе, удаление по значению:
Как проверить существуют ли данные в ресурсе или нет? (Ресурс Строка).
Задача: Есть ресурс СТРОКА, если данные существуют, то true, если данных нет (не заполнено строка), то false.По форуму искал, но дельного не нашел.
Используйте метод indexOf(value) указанный в api выше
RMap("ИМЯ РЕСУРСА").indexOf("значение") > -1 -
@support said in Проверить существование в ресурсе, удаление по значению:
//Получить несколько разных случайных элемента из ресурса. Работает очень быстро.
random(size)Работает корректно, но что то мне подсказывает, что вы собираетесь все изменения наблюдать в файле, это сделать не получится:
Официальный ответ, на случай если кто то будет работать с методом set(index, value)
Метод sync работает только с добавлением/удалением строк. Используйте действие "Ресурс В Список" и "Записать Список В Файл" вместо test.syncЯ проверил, действительно, изменённый методом set(index, value) ресурс помещается в список с изменениями и этот список можно записать в файл. Немного костыльно как по мне, но работает.
-
@saanneekk said in Проверить существование в ресурсе, удаление по значению:
@Fox нее) как раз буду именно в ресурсе работать. Он у меня наоборот будет заново пересоздаваться в OnApplicationStart.
Ааа, это вместо объекта в глобальной переменной то? )
-
Здравствуйте. Подскажите, пожалуйста. Есть ресурс, в котором идут строки следующего вида:
123:en
124:en
153:de
154:en и так далее.Нужно получить индекс строки, по части элемента, чтобы ее установить в переменную. Поиск осуществляется по ID. indexOf работает только по полному совпадению. Как можно реализовать задуманное?
Вот исходный код:
var a = RMap("BLACKLIST_1"); var index = a.indexOf([[USER_ID]]) [[USER]] = a.at(index)USER_ID - часть строки с ID
BLACKLIST_1 - ресурс с ID:ISO (en,de)
USER - переменная куда нужно установить строку по индексу -
@azaza777 said in Проверить существование в ресурсе, удаление по значению:
Есть возможность реализовать, так как задумал?
Через ресурс нет. Либо циклом обходить
-
появился такой вопрос по работе с ресурсами через апи + выполнить код
ищу индекс строки так
[[INDEX_I]] = RMap("Lock").indexOf([[USERNAME]]);в режиме записи все отлично рабоает, но в режиме запуска поток останавливается на этом месте. Как это исправить?
-
@shtorm said in Проверить существование в ресурсе, удаление по значению:
появился такой вопрос по работе с ресурсами через апи + выполнить код
ищу индекс строки так
[[INDEX_I]] = Map("Lock").indexOf([[USERNAME]]);в режиме записи все отлично рабоает, но в режиме запуска поток останавливается на этом месте. Как это исправить?
Приведите код полностью или прикрепите тестовый проект
-