Номер текущей строки в Lua
Поддерживает ли Lua что-то вроде макроса C __LINE__
, который возвращает номер текущей строки кода? Я знаю, что у Lua есть специальная встроенная переменная с именем _G
, но я не вижу там номера строки...
Ответы
Ответ 1
Из Lua, использующего debug.getinfo, например,
local line = debug.getinfo(1).currentline
От C с помощью lua_getinfo (это вернет linenumber внутри кода lua)
lua_Debug ar;
lua_getstack(L, 1, &ar);
lua_getinfo(L, "nSl", &ar);
int line = ar.currentline
http://www.lua.org/manual/5.1/manual.html#lua_getinfo
http://www.lua.org/manual/5.1/manual.html#pdf-debug.getinfo