Мне очень нравятся __LINE__
и __FILE__
C... есть ли что-то подобное в lua? (Я считаю полезным отслеживать printf... чтобы знать, из какого файла и из какой строки исходит сообщение).
Спасибо!
Мне очень нравятся __LINE__
и __FILE__
C... есть ли что-то подобное в lua? (Я считаю полезным отслеживать printf... чтобы знать, из какого файла и из какой строки исходит сообщение).
Спасибо!
function __FILE__() return debug.getinfo(2,'S').source end
function __LINE__() return debug.getinfo(2, 'l').currentline end
Непроверено, здесь.
Я использую что-то вроде этого для получения номера строки со стороны c:
int lua_getline(lua_State* L, int level) {
lua_Debug ar;
lua_getstack(L, level, &ar);
lua_getinfo(L, "l", &ar);
return ar.currentline;
}
Вызов lua_getinfo с "lS" заполнит исходное поле lua_Debug. struct, хотя это не всегда может быть имя файла IIRC.