Ivan
assert = function() end
Snusmumriken
assert = function() end
assert = function(...) return ... end Потому что ассёрты используются для пропуска через них значений, и возвращают первый аргумент, но мы можем пропустить все аргументы чтобы как бы совсем ни на что не влияло: local file = assert(io.open("filename.png", "rb"))
Александр
как-нибудь можно сделать, чтоб ассерты игноровались?
А смысл? В компилируемых языках ассерты в релизе убирают, чтобы вырезать лишнюю информацию (имена функций, например) и чуть ускорить код. В луа всё равно будет вызов функции, ты лишь избежишь одного ифа внутри. Хз, может luajit поумнее в этом плане, но я бы не надеялся
Ivan
может можно как-то настроить интерпретатор, чтобы ассерты игнорировал?
Snusmumriken
Лично я предпочитаю возвращать nil и текст ошибки, шоб юзер библиотечки мог обработать ассёрт без ассёрта/пколлов. А в конкретных проектах активно использую ассёрты чтобы ПРОГРАММА ПАДАЛА СРАЗУ а не хз когда, причём с нужным текстом, шоб сразу понять где что не так запущено ))
Bit
может можно как-то настроить интерпретатор, чтобы ассерты игнорировал?
А в чем ожидаемый профит? Отключка ассертов грозит тем, что некоторые библиотеки могут их использовать при валидации, и если их отключить, то можно напороться на нежданчики..
Ivan
да понятно
RE
есть строка t_str, формируется из команды sed: local t = assert(io.popen("sed -n 2p /www/data/"..filename.."")) t_str = assert(t:read('*a')) t:close() print(t_str) выглядит примерно так: var_ID:var1:var2_val: мне нужно передать ее curl os.execute( "curl --text '"..t_str.."' -key1 -key2" ) если передаю в виде этой переменной t_str, то ловлю ошибку если для теста передаю само значение этой переменной - все ок. os.execute( "curl --text 'var_ID:var1:var2_val:' -key1 -key2" )
RE
возможно при t_str = assert(t:read('*a')) в эту переменную чтото добавляется, какойто символ, который сносит крышу курлу. как это проверить?
RE
я же печатаю его print(t_str) выглядит как надо var_ID:var1:var2_val:
RE
но похоже там есть перевод строки еще
RE
вот его надо както удалить
RE
взлетело, спасибо!
Ivan
парни, запускаю busted с ключом --coverage, генерируется файл: luacov.stats.out что мне с ним делать?
Ivan
Upd Проблема была в том, что после этого я запускал luacov luacov.stats.out, а надо было просто luacov
Hello, World! 🎄
Есть ли фреймворки для приложений? На подобие corona sdk, love2d, defoild (Только это для игр)
Ivan
типа Flutter на Lua
love2d + какая-нибудь либа для UI. Если серьёзно, то есть IUP, WxLua, полумёртвые биндинги к Qt, но стоит ли оно того?
Ivan
вообще для Луа нихера нет, по сравнению с тем, что есть для js
Hello, World! 🎄
Разве js не браузерный язык сценариев?
На нём сейчас куча популярных десктопных приложений написана.
node js что ли?
https://www.google.com/search?q=electron+framework
Hello, World! 🎄
А понял
Hello, World! 🎄
Для lua придётся писать мост через c/c++ ?
Ivan
Для всего приходится писать
А действительно ли нужно писать GUI вот прям на Lua? Зачем?
Ivan
Просто для других пишут)
Hello, World! 🎄
А действительно ли нужно писать GUI вот прям на Lua? Зачем?
Ну gui будет на C) А на lua взаимодействие
Ну gui будет на C) А на lua взаимодействие
Взаимодействие с чем? Ну и как бы если GUI на C, вопрос про луашные либы для GUI теперь отпадает?
Ivan
А действительно ли нужно писать GUI вот прям на Lua? Зачем?
Вообще, интерпретатор луа меньше же весит, чем js или питон. По идее приложения меньше будут весить. Для мобилок актуально
Hello, World! 🎄
Взаимодействие с чем? Ну и как бы если GUI на C, вопрос про луашные либы для GUI теперь отпадает?
Ну в lua есть api, на Cи будет библтиотека для lua, при запуске lua я хочу её импортировать и с помощью ооп (псемдо ооп) сделать простой интерфейс
Вообще, интерпретатор луа меньше же весит, чем js или питон. По идее приложения меньше будут весить. Для мобилок актуально
А можно писать на Java/Kotlin, будут ещё меньше весить. Типа, зачем тащить ещё какой-то Python или JS?
Ivan
Многие тащат для кроссплатформенности
Ivan
И сами рисуют виджеты либо биндинги делают к нативным
Ну даже если ты сделаешь фреймворк для Lua, позволяющий писать кроссплатформенно для Android и iOS, это уже будет значительное пожирнение относительно нативных приложений, а плюсов как-то не особо видно (кроме того, что интерпретатор меньше весит).
Ivan
Ну почему же. Ещё язык легче. Писать на нём проще
Достаточно под разные платформы написать либу и на lua будет один код под все платформы 👍
Ну это работает и с другими языками, только для них больше готовых программистов и библиотек. 👍 Но если ты сделаешь годный фреймворк для разработки мобильных приложений на Lua — будет хорошо.
Ivan
работы на Lua непочатый край)
Highly Likely
Игровая студия Tamashi Games ищет разработчика Roblox для создания новых игровых режимов. Требования – Опыт работы с Roblox Studio, Roblox API, Lua – Готовность уделять нашим задачам минимум 20 часов в неделю – Возможность работать в будние дни Задачи – Прототипирование и разработка игровых режимов для игры Roblox в составе команды под руководством тимлида Условия – Удалённая работа – Почасовая ставка – Любой удобный рабочий график – Постоянная загрузка задачами – Дружелюбная опытная профессиональная команда, готовая помочь советом Присылайте резюме или краткий рассказ о себе на почту: hr@tamashi.games или в Телеграм @tamashi_hr
Вот прям для Питона уже вот прям сейчас есть куча готовых библиотек, и если есть задача разработать приложение с GUI, а не разработать приложение на Lua, то Python подойдёт лучше.
Hello, World! 🎄
Lua лучше питона
Нет, нельзя, т.к. Lua выигрывает в других вещах: проще встраивается, проще делается окружение "как нужно тебе" — можно отрубить всё лишнее или вообще сделать на его основе какой-нибудь DSL.
Ну и учится проще.
Вырвиглазный, но рабочий изкоробочный Tkinter уже выкинули? Или это и есть "ужасно"?
Hello, World! 🎄
Hello, World! 🎄
Qt жмёт своей лицензией с кождой обновой
Qt жмёт своей лицензией с кождой обновой
А JS'овый Electron не жмёт. При всех минусах, есть огромное сообщество для его развития и более пермиссивная лицензия.
Lucky
Тащемто только вчера натыкался на книжку о том, как зделоть свой скриптовый езыг.
Lucky
https://gumroad.com/felixp7
Hello, World! 🎄
https://gumroad.com/felixp7
Cпасибо, жаль что платная книга
Lucky
Да ладно, пару баксов не найдёшь разве?
Lucky
Это же чашка кофе
Nikolay
Скинешь если найдёшь?
http://craftinginterpreters.com/
Nikolay
вот ещё зацени)
Hello, World! 🎄
Да ладно, пару баксов не найдёшь разве?
Найду, но я как бы школу только закончил)
Hello, World! 🎄
http://craftinginterpreters.com/
Спасибо, я ещё 1 вариант нашел free)
Lucky
Найду, но я как бы школу только закончил)
Ну, зделай игрушку за пару вечеров, порви конкурс.
Hello, World! 🎄
Ну, зделай игрушку за пару вечеров, порви конкурс.
Я только рейкастинг делал и террарию, и то кому они нужны + откуда я возьму конкурс :(
Lucky
Ща копну
Hello, World! 🎄
Где-где free?
Скинуть суда?
Lucky
Если не трудно.
Hello, World! 🎄
http://index-of.es/OS/Create%20Your%20Own%20Programming%20Language.pdf
Hello, World! 🎄
Жалко перевода нет, придётся на английском писать
Lucky
https://forum.ifiction.ru/viewtopic.php?pid=39414#p39414
Hello, World! 🎄
https://forum.ifiction.ru/viewtopic.php?pid=39414#p39414
А на каких языках разрабатывать?