Co(n)stantine👨‍🔬
ой не туда
Snusmumriken
Ну ладно : )
Mark ☢️
Ну ладно : )
Сказал а скажи и бэ
Mark ☢️
Чо за край
Snusmumriken
бэ
Snusmumriken
Не, я про то где и как используют луи. Ну, по сути, примерно так же как и петон, или как встраиваемую в здоровенный комплекс скриптовую интерфейсню. Объём областей довольно приличный, позволяет мне бутерброд с маслом.
Snusmumriken
Ещё луи меня склонять поучи, мистер луёвый кодераст ))
Mark ☢️
Луита какая то
Mark ☢️
Луйня
Mark ☢️
Луапозикс дирент филес
Mark ☢️
В зависимости от версии луапозикс оно то нулл возвращает при ошибках то еррор вызывает
Mark ☢️
Что за долбодятлы проектировали апи
Mark ☢️
А что получше?
Mark ☢️
Зачем ты это трогаешь?
А что использовать вместо ?
Mark ☢️
Go?
В роутере на опенврт. Ага. Размер бинарей получающихся видел ?
Mark ☢️
Под мипсы и армы нормас ?
Mark ☢️
Со всякими там софтфлоатами и выравнивниямм
Anonymous
Если кросс компилятор есть, то возможно прокатит
Anonymous
Но я бы не стал использовать го для чего-либо
Anonymous
На роутерах скорее всего есть перл
mva
нету
mva
там только шелл и lua
mva
и то, вместо шелла занятая коробка
Anonymous
Это в опенврт?
mva
да
vvzvlad
там веб-интерфейс, емнип, на луа
mva
не только
Roman
Под мипсы и армы нормас ?
Нормас. Я собирал
halt
Парни привет. Подскажите где накосячил. Цель такая - открыть файл, прочитать построчно номер и передать этот номер в вызов IsRun = true; . function main() — Пытается открыть файл в режиме "чтения" f = io.open(getScriptPath().."/usr/local/freeswitch/scripts/Test.txt","r"); end; for line in f:lines() do; api = freeswitch.API(); reply = api:executeString("luarun bridge_mur.lua ".. line ..""); end; — Закрывает файл f:close(); — Цикл будет выполнятся, пока IsRun == true while IsRun do sleep(100); end; function OnStop() IsRun = false; end;
halt
lua: obzvon.lua:8: attempt to index global 'f' (a nil value) stack traceback: obzvon.lua:8: in main chunk [C]: in ?
halt
строка 8 - for line in f:lines() do;
mva
перед циклом сделай проверку что f не nil
mva
или io.open в assert убери (тогда в случае неоткрытия будет материться)
halt
Я второй день LUA вижу)
mva
Lua, не LUA
halt
Теперь просто молчит
mva
(так, для справки)
mva
сказали же тебе, что файл не открылся :)
halt
Так где накосячил?
halt
Запускаю из под рута, прав должно быть достаточно. В файле всего 2 строки
mva
но знаю как тебе узнать что не так
mva
f = io.open(getScriptPath().."/usr/local/freeswitch/scripts/Test.txt","r");
mva
вот это вот исправь на
mva
f, errmsg, code = io.open(getScriptPath().."/usr/local/freeswitch/scripts/Test.txt","r");
mva
потом внутри скобок у error(), который в if напиши errmsg
halt
Молчит
mva
не туда куда-то выводишь значит
mva
в смысле, у тебя там ничего stderr не ворует?
halt
IsRun = true; function main() — Пытается открыть файл в режиме "чтения" — f = io.open(getScriptPath().."/usr/local/freeswitch/scripts/Test.txt","r"); f, errmsg, code = io.open(getScriptPath().."/usr/local/freeswitch/scripts/Test.txt","r"); end; if not f then error(errmsg) end; for line in f:lines() do; api = freeswitch.API(); reply = api:executeString("luarun bridge_mur.lua ".. line ..""); end; — Закрывает файл f:close(); — Цикл будет выполнятся, пока IsRun == true while IsRun do sleep(100); end; function OnStop() IsRun = false; end;
halt
но там полный путь указан
halt
?
halt
Как проверить/7
halt
root@homevoip:/usr/local/freeswitch/scripts# lua obzvon.lua lua: obzvon.lua:9: attempt to call global 'getScriptPath' (a nil value) stack traceback: obzvon.lua:9: in main chunk [C]: in ?
halt
Скрипт на просторах интернет)
halt
https://quikluacsharp.ru/qlua-osnovy/primer-raboty-s-fajlami-v-qlua-lua/
Mark ☢️
halt
убрал. тоже самое
mva
если убрал, то того же самого быть не может
halt
естественно
halt
IsRun = true; function main() — Пытается открыть файл в режиме "чтения" — f = io.open(getScriptPath().."/usr/local/freeswitch/scripts/Test.txt","r"); f, errmsg, code = io.open("/usr/local/freeswitch/scripts/Test.txt","r+"); end; —print(getScriptPath()) —if not f then error(errmsg) end; for line in f:lines() do; api = freeswitch.API(); reply = api:executeString("luarun bridge_mur.lua ".. line ..""); end; — Закрывает файл f:close(); — Цикл будет выполнятся, пока IsRun == true while IsRun do sleep(100); end; function OnStop() IsRun = false; end;
halt
lua: obzvon.lua:11: attempt to index global 'f' (a nil value) stack traceback: obzvon.lua:11: in main chunk [C]: in ?
halt
да пофиг же... хоть чтение, хоть чтение/запись
halt
c r так же
halt
root@homevoip:/usr/local/freeswitch/scripts# lua obzvon.lua lua: obzvon.lua:7: attempt to index global 'freeswitch' (a nil value) stack traceback: obzvon.lua:7: in function 'main' obzvon.lua:25: in main chunk [C]: in ?
mva
или таки просто оберни io.open в assert
mva
(и убери остальные переменные из присваивания обратно
halt
Нифига. Ладно, спасибо за уделеное время. Буду дальше мучится
Snusmumriken
Карочи. function run(path) -- Проверка, что путь - это строка assert(type(path) == 'string', 'Arg #1 error: string path expected') local file, err = io.open(path) -- Ругаемся, если с файлом какие-то ошибки if not file then return error('Open file error: ' .. path .. ':' .. tostring(err)) end -- хз что это, но наверное не надо каждую строку дёргать local api = freeswitch.API() local execstr = "luarun bridge_mur.lua " for line in file:lines() do local reply = api:executeString(execstr .. line) end file:close() end local isRun = true function OnStop() IsRun = false end while isRun do run('/usr/local/freeswitch/scripts/Test.txt') sleep(100) end
Snusmumriken
Эта фигня ругнётся в случае чего.