Определение, откуда была вызвана функция

Страницы: 1
RSS
Определение, откуда была вызвана функция
 
Как это сделать? Например есть L.lua
function start()

end

и еще два файла a.lua и b.lua, в каждом примерно такой код(может быть дополнен)
local start=require("L.lua").start
start() --как проверить откуда была вызвана? передача строковых параметры не подойдет: можно подделать

Заранее спасибо за помощь.
 
Здравствуйте,
Попробуйте так:
Код
function start() 
message(debug.getinfo(2).short_src)
end 
 
L.lua
Код
function start() 
message(debug.getinfo(2).short_src)
end 


a.lua
Код
dofile(".\\L.lua")
start() 


b.lua
Код
dofile(".\\L.lua")
start() 


в результате при запуске a.lua или b.lua в терминале появится сообщение содержащее путь к файлу из которого была вызвана функция start()
Страницы: 1
Читают тему
Наверх