Me gusta mucho C's __LINE__
y __FILE__
... ¿proporciona lua algo similar? (Me resulta útil para rastrear las impresiones ... para saber qué archivo y de qué línea proviene el mensaje).lua equiv de __LINE__ y __FILE__?
Gracias!
Me gusta mucho C's __LINE__
y __FILE__
... ¿proporciona lua algo similar? (Me resulta útil para rastrear las impresiones ... para saber qué archivo y de qué línea proviene el mensaje).lua equiv de __LINE__ y __FILE__?
Gracias!
function __FILE__() return debug.getinfo(2,'S').source end
function __LINE__() return debug.getinfo(2, 'l').currentline end
Untested, credit goes here.
utilizo algo como esto para obtener el número de línea desde el lado 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;
}
Calling lua_getinfo con "LS" llenará el campo de origen de la estructura lua_Debug a pesar de que no siempre puede ser un nombre de archivo IIRC.
Tenga en cuenta que, en general, es una mala idea nombrar símbolos globales comenzando con doble guion bajo. Tales nombres generalmente pertenecen a los implementadores del lenguaje. –