mva
goto, вот, правда, я не люблю :)
mva
хотя бы потому что не 51-compatible
Snusmumriken
хотя бы потому что не 51-compatible
Ну я злодей, да. Надо было функцию замутить, которая ретурнит полученную фигню/ошибку, и бесконечный цикл вроде такого:
while true print(translate(io.read())) end
Но я злодей и хотел впихнуть goto, плюс типо тупо "демонстрация тулзов", без выкладывания в общий доступ.
Snusmumriken
Кстати, маленькие чемпионы, кто напишет тулзу на луях, которая будет вычислять путь до скрипта/библиотеки, цепляющейся через require? Мне такая в своё время много нервов сэкономила, ибо штук десять разных мест в LUA_PATH/LUA_CPATH, и в некоторых местах либы с одними и теми же именами но с разными эффектами (версиями, например).
Lucky
Снус - дЕтя
Artem
может кто знает, насколько сложно найти lua разработчиков среди web?
Snusmumriken
Lucky
я знаю двоих
Artem
lua + php и был готов работать с моим подходам к микросервисам
Snusmumriken
Для начала, стоит уточнить что "найти толковых луа-разработчиков" - уже довольно сложно. А "веб" - отсекает из них сразу миллиард.
Я знаю товарища Leafo, он ещё lapis и moonscript написал.
Lucky
луа + ангулар2
vitaly
луа + прон
Snusmumriken
👌
Lucky
пых - тот ещё прон, ага
uhx
lua + python django
uhx
извините
Snusmumriken
Зачем тебе php когда уже есть луа? Они выполняют примерно одну и ту же деятельность.
Lucky
дыа
Mikhail
я юзаю луа для бэков
Lucky
👍
Mikhail
и с лонгполлингои и с вебсокетами норм
Snusmumriken
Artem
если только openresty тогда, просто проект уже готов на nginx/lua + php + mariadb + redis
Mikhail
но я жалею что я не сразу.. то есть я не смог в resty
Mikhail
сильно бы проще было
Mikhail
Mikhail
будет время, задача и деньги я буду мигрировать потихоньку..
vitaly
Artem
Snusmumriken
Вот, тогда у тебя уже nginx не-самописный : )
Artem
https://hoqu.io/
vitaly
Snusmumriken
ржу немогу
Даладна, у меня на работе на проде крутится несколько крошечных асинхронно-корутинных вебсерверов луёвых, моих, конечно. Основная задача примерно как у ноды (принять запрос, распарсить, прогнать через юзер-функцию, вернуть), только на луях.
vitaly
https://github.com/appwilldev/everlooping/blob/master/test_server.lua
Snusmumriken
Приём данных тут не очень оптимальный, я уже успел написать несколько более крутых вариков ((
Но пару десятков тысяч запросов в секунду на luajit перемалывает (если обработка не очень сложная).
vvzvlad
lua + tarantool
Anatoliy
Ребята посоветуйте хороший и удобный интерпретатор луа с хорошим отладчиком
vitaly
google
Snusmumriken
Ох, ну у тебя и запросы : )
Хороший и удобный интерпретатор - luajit.
Отладчик - debug.debug (точка останова) и log/print.
Можешь накатать более крутую функцию, типа той которая останавливает исполнение кода и начинает работать например вебсервером, и типа можно спрашивать доступные переменные/стектрейсы. Это хитро но можно.
Статический анализатор - luacheck.
В целом, можешь попробовать zerobrane, и прицепить туда тот же luajit.
Snusmumriken
Зачем тебе?
Anatoliy
Snusmumriken
Не zerobrain а zerobrane. Тот кто называет его zerobrain - у того и zerobrain : )
Я плохо понимаю, что тебе мешает тупо разобраться в коде/отдебажить теми же логами.
Anatoliy
Тупо разобраться в коде ))))))))))))))
mva
Anatoliy
Тупо в коде не разоберешся )))))))))
Anatoliy
Тупо можно только головой об стену биться
Snusmumriken
Кто писал код? : )
Anatoliy
Я
Snusmumriken
👌
Anatoliy
Разросся скрипт, проще визуально отлаживать
Snusmumriken
Snusmumriken
Заранее поставь задачу, опиши её, сформулируй основные абстрагированные объекты, например и.. Напиши ))
Snusmumriken
Начать проще с рисованием структуры на бумажке.
Ах да, чтобы не усложнять себе задачу, придерживаемся правил, типа: "не используем глобальных переменных, а если используем - определяем их в начале и не переопределяем, не пишем функций и методов длиннее 30-40 строк" и т.п.
Snusmumriken
Дебаггер не помогает не писать говнокод, в общем.
А нормальный код (не шибко объёмный) можно легко отдебажить без дебаггера.
Anatoliy
короче вот такая проблема - скрипт в одном месте дописывает 01 в конец открытого для чтения и записи в бинарном режиме файла, r+b, т.е. не символы 01 а число в байт, и больше ничего, после этого в другом месте скрипта уже в других действиях ошибка, вот стал отладчиком ее искать, выполняю отладку - и zerobrane в том месте где у меня идет запись 01 он пишет в один байт 01 и сразу же в следующий за ним - 55 шестнадцатиричное, т.е. получается - 01 55, хотя у меня в проге нет записи числа 55, и если выполняю прогу как обычно то никакого 55 незаписывается
Snusmumriken
1. Оформи свою фигню функциями работы с файлом, логируй функции тем же print'ом, чтобы видеть последовательность действий.
2. Ты видать всё ещё не разобрался в байтах, разберись с ними сначала.
3. Зачем нужен метод flush?
Snusmumriken
Anatoliy
В любом случае это глюк зеробрана, почему при отладке результат иной чем при обычном выполнении? Значит нужно искать другой отладчик
Snusmumriken
Отличная логика.
Anatoliy
Ну да примерно так
vitaly
vitaly
мне пару раз вправлял - помогает
Snusmumriken
Давно пора, больно смотреть на домогания до англоязычного чата. И описывает не то что хочет описать, и не понимает что делает.
vitaly
тут тебе никто ничего не должен - снус помогает по возможности - 😂
Snusmumriken
Anatoliy
И это уже не первый раз когда zerobrane при отладке выдает какието странности которых нет при обычном выполнении, не встречал еще никогда такого, обычно при отладке программа выполняется так же как и обычно, только пошагово
Snusmumriken
Хорошо, отлаживай print'ами. Это помогает.
Snusmumriken
Фактически, zerobrane - единственная луёвая IDE с отладчиком. Технически, из отладчиков есть ещё bird (https://love2d.org/wiki/Lovebird), но он сложный, требует библиотек и адаптации, и не даёт того эффекта.
Snusmumriken