Микита
а я уже сталкивался с этим, когда response возвращал 1, вместо строки, это как-то связанно со скобочками было или я чет не так понял
Snusmumriken
Тогда просто посмотри остальные аргументы.
Snusmumriken
Возможно оно не response, status, error а например, success, response, status, error или что-то такое.
Микита
https://stackoverflow.com/questions/17372330/lua-socket-post
Микита
во может ты поймешь
Snusmumriken
body:1
Snusmumriken
Сервер к которому ты обращаешься возвращает "1" в качестве тела?
Микита
нет, json
Микита
во блин, я что-то вспоминаю
sink
Микита
там как-то нужно было выше объявить переменную типо так local data = {}
Микита
и указать эту переменную во время запроса
Микита
и в нее помещался body
Snusmumriken
Вообще, оно автоматом должно это делать.
Snusmumriken
Ну кароч
Snusmumriken
Мне лень писать пример
Snusmumriken
Snusmumriken
Ты немношк достал тыкаться в какую-то фигню (которую нужно просто сделать), поэтому я просто сделаю за тебя.
Snusmumriken
А.
Микита
воть https://pastebin.com/NdcBfL59
Snusmumriken
Вот у тебя есть тот код, который я только что затребовал скинуть на пастбин.
Берёшь его такой и:
local function I_GOT_RESPONSE(body, a, b, c)
print("I GOT SOMETHING")
print(body, a, b, c)
end
httpRequest({url = "http://google.com", body = "nmybody", method = "POST"}, nil, I_GOT_RESPONSE)
Snusmumriken
Вот в функцию I_GOT_RESPONSE когда-нибудь придёт ответ. Она вызовется когда запрос будет выполнен.
Микита
Микита
http.request({url = r, body = b, method = "POST", sink = ltn12.sink.table(storage)}) и потом его сюда
Микита
работает вроде норм
Snusmumriken
Четвёртый аргумент функции temp_storage не используется этой функцией, убери.
Микита
а я добавил
Микита
вот так сейчас выглядит
Микита
function httpRequest(request, body, handler, storage)
Микита
вот по этому примеру делал
Snusmumriken
Забей.
Микита
это адекватное решение?)
Snusmumriken
У тебя же функция вызывается.
Snusmumriken
Сделай в ней с результатом что хочешь.
Микита
а понял
Микита
спасибо огромное
Snusmumriken
Я спросонья забыл что можно забить на чужие хотелки и прост решить проблему в лоб.
Highly Likely
sumneko/lua-language-server
Highly Likely
Оч приятный
Highly Likely
Пусть и слегка подлагивающий
Snusmumriken
package.path = "/custom/directory/?.lua;" .. package.path
Snusmumriken
Ещё можно просто в глобальную переменную окружения влепить то же самое:
LUA_PATH=~/custom/dir:$LUA_PATH
Snusmumriken
А, пардон, ты не про луа а про аддон для VS?
Я уж подумал что у тебя сами либы внутри скрипта не цепляются.
Highly Likely
Буквально вчера бодался с путями на юниксе. Luarocks при make rockspec ставит пакет вместо ~/.luarocks в /usr/local/. И вот Sublime у меня почему-то цеплял этот путь, а все остальные не видели его (потому что цепляли правильный $PATH). Решилось флагом —tree ~/.luarocks, везде заработало, зато сломался Сублим >.<
Микита
привет всем, хочу сделать своей программе систему автообновления, типо если обнаруживается новая, то скачиваются файлы и заменяются. Для этого случайно нет готовых решений?
Snusmumriken
Нету!
Snusmumriken
Но это делается настолько просто, что на коленке за 15 минут пишется.
Микита
хмм, ну для меня это пока сложно все, я вот подумал:
1) а если новые зависимости, нужно проверить не установлена ли у человека она
2) а если главный файл программы изменился, я могу его перезаписать во время рантайма и релогнуть?
Snusmumriken
Микита
Микита
с других языков
Snusmumriken
Просто система обновления приложений.
Бест-практис — например система лончеров.
Snusmumriken
Ну, знаешь игрушки с лончерами? И они такие иногда: "Лончер обновился, нужно перезагрузить" — вот это происходит когда сам исполняемый файл лончера обновляется.
Но в целом, куда проще когда само приложение — просто проигрыватель для кода (например, интерпретатор луа). Тогда для обновления достаточно замены скриптов, и даже перезагружаться можно без перезагрузки, очищая интерпретатор до дефолтного состояния и запуская какой-нибудь main заново.
Микита
понятно, буду пробовать, спс
Snusmumriken
Так-то у тебя допустим Nginx с встроенным в него просмотровщиком директорий, настроенный на последний билд.
Твоё приложение делает http-запрос к нгинксу, рекурсивно по папочкам смотрит последние изменения файлов.
Файл изменился — догрузили.
Snusmumriken
Если впадлу делать рекурсию по папочкам — просто архив с последним билдом скачиваем и распаковываем.
Ivan
Snusmumriken
Snusmumriken
Такое обычно происходит крайне редко, и в 99% случаев не нужно это чекать.
Snusmumriken
Вот если бы мы делали гугл-драйв-синхронизацию — тогда да. Но мы обновляем приложение а не синхронизируем.
Плюс для чеканья файлов на диске придётся lfs подгребать, и ещё кучу лишних телодвижений делать.
Snusmumriken
Во, а ещё у юзера могли быть аддоны для приложения, и их удаление после обновки сделает юзера очень злым.
То есть в идеале, у нас конечно же индекс файлов каждого билда, мы его храним, чекаем изменения между разными версиями, считаем хеши файлов и всякое такое. Но зочем? )))
Ivan
Snusmumriken
Ха, мы можем использовать гит для обновления версий.
Тащить с собой маленький гит-клиентик и дёргать его команды луями из основного приложения )))
Вот гит сделает всё за нас.
Snusmumriken
Это с какой сетевой либой?
Snusmumriken
А
Highly Likely
Это не работа Луачека.
Highly Likely
Какое?
Highly Likely
А, который я советовал, да, он хорош
Highly Likely
(если не смотреть под капот)
Anatoliy
Самая быстрая - луаджит
Snusmumriken
Зависит от задач. С одной стороны, никто не мешает подрубить норм регулярки или даже PEG, а с другой, лучший яп для работы с текстом — перл.
Snusmumriken
Да, ты чот совсем много пишешь, как будто нашёл личный бложик : )
С одной стороны вроде норм ибо движуха, а с другой — ну очень узкоспециализированное что-то скидываешь.
Snusmumriken
Для личного бложинга есть вот такая группа
https://t.me/ProLuaSnooze
Snusmumriken
Отсутствием регулярок как операторов, с автообработкой исключений при работе с текстом : )
Snusmumriken
То есть, разбить текст регуляркой, и обработать каждый кусок регулярками, чтобы потом обработать всё оставшееся регулярками — в питонах всяких для этого нужно городить кучу фигни, и заворачивать в try-catch каждый кусочек. А ВДРУГ УПАДЁТ?!
Snusmumriken
А в перле это естественное положение дел. Не надо громких заявлений что он изжил своё. Он как был узкоспециализированным языком, так им и остался. Но в своём роде это лучшее что есть.
Snusmumriken
Уу, мапы с лямбдами ))
Snusmumriken
Напомни, а в жаваскрипте можно динамически генерировать регулярки из строк?
Snusmumriken
Норм