lua equiv __ СТРОКА __ и __ ФАЙЛ __?

Мне действительно нравится C __LINE__ и __FILE__ ... lua обеспечивает что-то подобное? (Я нахожу это полезным для того, чтобы разыскать printf's... для знания, какой файл и которые выравнивают сообщение, прибывает из).

Спасибо!

10
задан RBerteig 6 May 2010 в 20:53
поделиться

2 ответа

function __FILE__() return debug.getinfo(2,'S').source end
function __LINE__() return debug.getinfo(2, 'l').currentline end

Непроверено, кредит .

14
ответ дан 3 December 2019 в 21:20
поделиться

Я использую что-то вроде этого для получения номера строки со стороны 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" заполнит поле source структуры lua_Debug, хотя это не всегда может быть имя файла IIRC.

3
ответ дан 3 December 2019 в 21:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: