Но появилась новая проблема. Иногда скрипт во время работы внезапно запрещает выделять действия. Т.е при клике на любое действие, оно просто не выделяется красным. Это второй баг, независимый от первого если что
Как повторить действие "Парсить CSV строку" в js
-
@MP said in Как повторить действие "Парсить CSV строку" в js:
@Fox у меня есть большой бот, в нем я использую js для оптимизации. На данный момент приходится делать костыли, чтобы делить подобные строки через split(':')
Можете более подробно описать, каким именно образом вы "оптимизируете" скрипт при помощи js?
-
@MP said in Как повторить действие "Парсить CSV строку" в js:
a = ("abc:\"0:0.18\":123").split(":") console.log(a)["abc","\"0","0.18\"","123"]Мб я чего не понимаю))
А где именно вы выполняете js код в BAS?
-
@MP said in Как повторить действие "Парсить CSV строку" в js:
@Fox Встроенные языки/Node.js
Вот уж точно "оптимизация".. Если уж используете ноду, то можете использовать и готовые модули, например https://www.npmjs.com/package/csv-parse
-
@MP said in Как повторить действие "Парсить CSV строку" в js:
@Fox не претендуй на звание "лучшего оптимизатора".
Эмм, что?
Если на то пошло, что лучше использовать вместо Node.js?
Смотря каких целей необходимо добится. Ноду не запрещено использовать, но с ней есть много подводных камней. Инстанс ноды запускается один на весь скрипт, значит все команды в многопотоке с нодой будут обрабатываться по очереди. Если крашнется нода в одном потоке, потеряются данные во всех остальных и т.д.
-
@Fox возможно у Ноды и есть подводные камни, но, как по мне, это компенсируется универсальностью и простотой реализации на ней. Много потоков я не использую, обработка по очереди чувствуется, но не сильно. А потеря данных при краше решается написанием нормального кода)
А вот этого я не понял@Fox said in Как повторить действие "Парсить CSV строку" в js:
Вот уж точно "оптимизация"..
Будто бы замена конструктора Баса на нормальный ЯП не является оптимизацией)
-
@MP said in Как повторить действие "Парсить CSV строку" в js:
Будто бы замена конструктора Баса на нормальный ЯП не является оптимизацией)
Я не хочу развивать второй холивар за день, если нужна нода - используйте ноду. Что бы решить поставленную в первом посте задачу в ней вы можете использовать модули csv или использовать действия BAS (для этого нужно просто скопировать действие на панеле сценария и вставить в окне nodejs)
-
@MP если в в действии Выполнить код, то
var list = csv_parse(string)это старый вариант, соответствует действию Парсить строку(устаревшее), хорошо подходит чтобы парсить строки например из базы.
Есть еще новый вариантvar list = _csv_parse(string,":",false)где уже можно указать разделитель
Что бы добавить это в ноду - блок выполнить код нужно скопировать в окно ноды, но это такое себе, поэтому проще или подготовить данные заранее, или использовать в ноде другую библиотеку.
Что бы посмотреть в какой код используется в действии, просто найдите его по id во вкладке скрипт внизу окна бас.
-
@DrPrime ого, спасибо огромное, смог сделать с помощью
@DrPrime said in Как повторить действие "Парсить CSV строку" в js:
var list = _csv_parse(string,":",false)
Но не смог найти этого
@DrPrime said in Как повторить действие "Парсить CSV строку" в js:
Что бы посмотреть в какой код используется в действии, просто найдите его по id во вкладке скрипт внизу окна бас.
