Igor
sampAddChatMessage(('Ловля в%sключена'):format(scriptActive and '' or 'ы'), -1) 😃
Скобку потерял, но можно и так в принципе. Странновато выглядит, но работать будет.
wennerryle #nowar #htswasl?
все что сложно читается подлено переписыванию!
Snusmumriken
sampAddChatMessage(('Ловля в%sключена'):format(scriptActive and '' or 'ы'), -1) 😃
local localization = { on = "включён", off = "выключен", fon = "включена", foff = "выключена", onm = "включены", offm = "выключены", } local fmt = { state = scriptActive and localization.fon or localization.foff} msg = ("Ловля %state%"):gsub("%%(.-)%%", fmt) Можно впилить практически полноценную локализацию.
Null
😃
Aqendo
Aqendo
А понял
Igor
а у вас нету какой-то встроенной библиотеки по типу i18n?
встроенной нет, но есть приколы готовые
Igor
Хотя бы от того же kikito
Igor
Ща, найду
Igor
https://github.com/kikito/i18n.lua
Igor
у кого "у вас"?
В Lua имеется ввиду
Snusmumriken
Пофиксил
Null
в коробке у Lua - нет, это противоречит его сути
Null
но никто не мешает подключить любую либу и делать что хочешь
Snusmumriken
И это нормально
Snusmumriken
Но вообще, простейший формат питон-лайк выглядит примерно так: local _gmt = {__index = _G} function format(msg, vars) setmetatable(vars, _gmt) return msg:gsub("%%(.-)%%", vars) end foo = "hello" =format("%foo% %bar%", {bar = "world"})
Koto
хочу задать вопрос вот какой: может кто-то поделиться опытом навешивания сишных библиотек на движки типа Love2D, Luvit, OCEmu ну то есть где своя кастомная луа? Как на счёт скомпилировать их вместе, насколько это реально? есть ли что-то умнее, чем разобрать один из этих движков на библиотеки, и по одной их встраивать в другой движок?
Null
в love и luvit обычнй lua
Koto
не стандартная PUC RIO
Koto
в лувите точно нет, в Love2d - чекну снова, но по ощущениям работает немного не так как обычный джит
Null
Null
> puc rio > обычный джит
Null
ЩИТА?
Koto
в OCEmu очень модифицированная, для реализации stepped execution
Igor
LuaJIT полностью повторяет поведение Lua 5.1 (ну и имеет частичную совместимость с API от 5.2 ещё как бонус)
wennerryle #nowar #htswasl?
на самом деле очень хотелось так, но в луа) но, ваш вариант лучше и рабочий хотя-бы..
Snusmumriken
Ха, так тоже пашет. В 5.2+ можно передать _ENV, и оно начинает цеплять не только глобалки.
Koto
LuaJIT полностью повторяет поведение Lua 5.1 (ну и имеет частичную совместимость с API от 5.2 ещё как бонус)
да верно, но свойства обычной луа, портабельность, он потерял. Где у нас WASM LuaJIT? правильно, отсутствует, так как никто не хочет идти переписывать ассемблерный код =)
Igor
И если внести Майку внушительную сумму, то он и под WASM всё это напилит, просто никому оно не надо, вот и повисла в воздухе портабельность эта
Snusmumriken
Вот если бы ты хотел впихнуть тарантул — туда уже нет, там моды над luajit'ом. Хотя большая часть должна работать, символы-то сишные одни и те же.
Igor
luvit - тоже надстройка над lua{,jit}, никаких "своих lua" там нет
Я чет даже не заметил в вопросе часть про luvit, love2d увидел и сразу триггернулсо
Null
ну, зато китайцы из OpenResty почти начали 😃
wennerryle #nowar #htswasl?
wennerryle #nowar #htswasl?
Koto
Есть мнение, что Майк сам перестал понимать, как оно там всё работает.
лол, не думаю =) как кодер с 20 годиками опыта, думаю, что он уже может смотреть футбол пока руки программируют =)
Igor
Это Lua, не LuaJIT
wennerryle #nowar #htswasl?
аа)
Null
и это васянопроект
Igor
Lua и самому под васм собрать труда не составит из оригинальных исходников
Koto
ребят, вы же про вебассембли говорите? ну, просто на гитхабе уже есть что-то такое
так о то ж. Теперь где там джит? =) нету, есть только задумчивость =)
wennerryle #nowar #htswasl?
если в васм встроят поддержку нативних биндингов с dom, cssom api, то это взорвет мне мозг)
Koto
а тебе точно именно jit нужен, а не ffi?
мне нужно то, ради чего придумали WASM - производительность. Пока её нету, любые интеграции будут подразумевать основной цикл, рендеринг, физику, и другие вычисления на стороне JS, или три языка в проекте (JS + Lua + Rust например). Не то чтобы с этим проблемы, но конструкция получается более сложная, приходится сопровождать все части.
wennerryle #nowar #htswasl?
Null
мне нужно то, ради чего придумали WASM - производительность. Пока её нету, любые интеграции будут подразумевать основной цикл, рендеринг, физику, и другие вычисления на стороне JS, или три языка в проекте (JS + Lua + Rust например). Не то чтобы с этим проблемы, но конструкция получается более сложная, приходится сопровождать все части.
1) вот только JS менее производителен чем даже голый Lua. 2) ты понимаешь как работает концепция JIT? Я, вот, например, не очень уверен, что это вообще принципиально портируемо на WASM, т.к. для JIT нужно W+X (это сама его суть), а это небезопасно и все песочницы в браузерах ноборот, насколько мне известно, запрещают W+X в первую очередь.
Snusmumriken
ещё один глупый вопрос: строка всегда правда? (или не всегда? ну например когда пустая)
Единственное что может быть в луа ложным это false и nil. Абсолютно всё остальное — true. 0 == true, "" == true, {} == true и т.д.
Snusmumriken
Snusmumriken
Ну да, да, прямое сравнение с булом не работает, но выражение истинно.
Null
оно не == true, просто if считает их не-ложными потому что оно != false 😊
WDMR
людя
Aqendo
Человек?
Ekaterina
Igor
вроде
Правильный? Тот что Lua интересуется?
Ekaterina
Правильный? Тот что Lua интересуется?
скорее интересуется в разработчиках Lua...как hr)
Luсky
скорее интересуется в разработчиках Lua...как hr)
Цели, задачи, гонорары? Лишь бы только не роблокс и гта-онлайн.
Ekaterina
Цели, задачи, гонорары? Лишь бы только не роблокс и гта-онлайн.
Если коротко, то Проект в сфере информационной безопасности. XDR система, которая анализирует происходящее в сети и принимает решения. По клиентской части используется юзер-агент (антивирус). Стек проекта: Golang и Lua Гонорары примерно тысяч 280
Igor
но роблокс возможно поинтереснее)
Куда уж там, вакансии на 280 рублей с роблоксом тягаться