ㅤ
Вообще, в моём примере можно было написать просто [1] = do_another_stuff1, но смысл понятен.
Hello, World! 🎄
В зависимости от того, что ты хочешь сделать.
Не работает потому что что-то не так сделал, инфа 100%.
В такой конструкции может быть смысл:
-- local switch_var = 2
-- local argument = "asdfg"
-- это где-то там объявлено или передаётся сюда, не важно, просто оно есть в этом контексте
local default_function = function(a)
do_stuff(a)
end
local switch = {
[1] = function(a) do_another_stuff1(a) end,
[2] = function(a) do_another_stuff2(a) end,
[3] = function(a) do_another_stuff2(a) end,
}
local function_to_call = switch[switch_arg] or default_function
function_to_call(argument)
Но скорее всего в твоём случае пойдёт и цепочка if'ов.
Реализация switch через таблицы?
Как мне нравится lua, всёгда нужно работать головой, и придумывать реализации)
Не то что C# или Java где полно функций, которые можно узнавать хоть каждый день.
ㅤ
Типа того, но скорее всего ему это не нужно здесь.
𝚌𝚑𝚊𝟶𝚝!𝚔
Работает быстро, жит есть
𝚌𝚑𝚊𝟶𝚝!𝚔
Биндинги под сдк только написать
𝚌𝚑𝚊𝟶𝚝!𝚔
Либо дальше все перейду на всякие flutter и прочие вебоподобные штуки
𝚌𝚑𝚊𝟶𝚝!𝚔
А там опять жабаскрипт один
𝚌𝚑𝚊𝟶𝚝!𝚔
Почему не выпилить то, по моему изи
Hello, World! 🎄
Hello, World! 🎄
𝚌𝚑𝚊𝟶𝚝!𝚔
Джависты и жабаскриптеры тогда соснут и луа начнет захватывать мир))
Hello, World! 🎄
Вот пример, что люди делают
Hello, World! 🎄
Если вдруг сомневаетесь, скачивать lua engine или нет, то не думайте об этом, просто попробуйте, вам понравится, хехе
Hello, World! 🎄
𝚌𝚑𝚊𝟶𝚝!𝚔
𝚌𝚑𝚊𝟶𝚝!𝚔
Дальвик это я так понимаю просто вм для жабы
𝚌𝚑𝚊𝟶𝚝!𝚔
Если все приложения переписать на дуа, то дальвик можно отрезать
𝚌𝚑𝚊𝟶𝚝!𝚔
А можно и оставить для совместимости)
𝚌𝚑𝚊𝟶𝚝!𝚔
Ну форкнуть ос, какие проблемы
𝚌𝚑𝚊𝟶𝚝!𝚔
Да хоть оставить как есть, ну
𝚌𝚑𝚊𝟶𝚝!𝚔
Просто еще луажит примотать изолентой
𝚌𝚑𝚊𝟶𝚝!𝚔
И переписывать потихоньку все под него
𝚌𝚑𝚊𝟶𝚝!𝚔
встроенные приложухи
Hello, World! 🎄
Его легко модифицировать, проблема в том, что прошивка только на одном устройстве запустится, для другого телефона нужна другая прошивка.
Hello, World! 🎄
Соответственно, лучше под пк делайть ос с lua машиной
𝚌𝚑𝚊𝟶𝚝!𝚔
𝚌𝚑𝚊𝟶𝚝!𝚔
И биндинги к нативным библиотекам
𝚌𝚑𝚊𝟶𝚝!𝚔
𝚌𝚑𝚊𝟶𝚝!𝚔
Это вообще маловероятно, луа разработчиков все же меньше чем java+javascript
𝚌𝚑𝚊𝟶𝚝!𝚔
только если инвестор какой крупный заинтересуется, но его заинтересовать нечем, шило на мыло
Hello, World! 🎄
Можно просто удалить все приложения с андроида (ВСЕ), оставить только ui интерфейс (и ещё приложения, без которых андроид не запустится) Потом написать на java лаунчер и вписать туда lua виртуалку и соответственно запускать этот лаунчер при старте ос. И любой желающий сможет запустить его, т.к ядро и база системы будет родной.
Hello, World! 🎄
𝚌𝚑𝚊𝟶𝚝!𝚔
𝚌𝚑𝚊𝟶𝚝!𝚔
Поэтому я их в одну кучу сложил
Hello, World! 🎄
𝚌𝚑𝚊𝟶𝚝!𝚔
А че тогда
Hello, World! 🎄
А че тогда
Пишешь на html простую страницу, и через webview её загружаешь, только это будет как визитка
𝚌𝚑𝚊𝟶𝚝!𝚔
А потом переписать ui и эти самые приложения, без которых не запустится, и дальвик вообще не использовать
𝚌𝚑𝚊𝟶𝚝!𝚔
Hello, World! 🎄
𝚌𝚑𝚊𝟶𝚝!𝚔
Чет я не слыхал
𝚌𝚑𝚊𝟶𝚝!𝚔
Да))
Hello, World! 🎄
Hello, World! 🎄
Welcome to lua 🌝🌚
𝚌𝚑𝚊𝟶𝚝!𝚔
Ну те же яйца примерно, только не jit, а конпеляция во время загрузки
𝚌𝚑𝚊𝟶𝚝!𝚔
Надо какие нибудь бенчи поискать, будет ли вообще хоть какой то профит от этого
Hello, World! 🎄
𝚌𝚑𝚊𝟶𝚝!𝚔
бенчмарки
𝚌𝚑𝚊𝟶𝚝!𝚔
Может луа будет еще медленнее и мучительнее
𝚌𝚑𝚊𝟶𝚝!𝚔
И раму жрать еще больше
Hello, World! 🎄
И раму жрать еще больше
Достаточно сравнить java и lua виртуальные машины,
+ Lua предназначен для встраивания
𝚌𝚑𝚊𝟶𝚝!𝚔
Причем сравнить на арме желатьльно
𝚌𝚑𝚊𝟶𝚝!𝚔
Именно поэтому
Hello, World! 🎄
Так вообще можно?
Hello, World! 🎄
Придумал)
Возьми Си и сделай 😎 модуль.
Который получает от lua строку и через switch сравнивает.
ㅤ
Я не знаю, почему твой скрипт так сделан.
ㅤ
if cond1 then
do_stuff()
elseif cond2 then
...
else
do_stuff()
end
ㅤ
Никак.
Предлагаю переписать на JS или Python. На Lua разве есть живые библиотеки для Телеграм-ботов?
ㅤ
Разве что можно сделать
local text = msg.text
if text == "..." then
ㅤ
О, а какая?
Hello, World! 🎄
А какую библиотеку используешь для запросов?
ㅤ
Это точно будет заметно в твоём боте?
ㅤ
И Нода разве медленная?
ㅤ
Ну может, какой-то специфичный случай. ЕМНИП, она запускается долго и памяти больше кушает, а по быстродействию примерно равны.
ㅤ
Тут верю, да.
Arslan
commandHandler = {
start = startFunction,
hello = function (msg) msg.answer"Hi!" end
}
for k,v in pairs (commandHandler) do
if k == msg.text then v(msg);break end
end
Один раз сделал хэндлер и забыл. Добавлять и убирать команды будешь не часто
Hello, World! 🎄
Её просто в папке с main.lua поместить, чтоб импортировать?
Hello, World! 🎄
Спасибо, а я думал в луа нет менеджера библиотек (как в питоне pip), а оказывается есть.
Sarvar
Здравствуйте, как в луа паттернах реализовать квантафикацию? Перерыл форумы, но ничего толкового не нашел. Необходимо реализовать следующую запись в виде шаблонов: [а-яА-ЯёЁ]{5}
Tverd
регулярки в луа такое кмк не юзают. Они немного урезаны
Sarvar
да я знаю, но задачу ведь решить надо)
Sarvar
только как? без понятия.
Tverd
ну либо lpeg либо что-то с re было связано
Sarvar
Tverd
щас погляжу, если найду
Tverd
Библиотека?
http://rrthomas.github.io/lrexlib/ вот это походу