32
¿Soporta Lua algo así como macro de C __LINE__
, que devuelve el número de la línea de código actual? Sé Lua tiene unanúmero de línea actual en Lua
¿Soporta Lua algo así como macro de C __LINE__
, que devuelve el número de la línea de código actual? Sé Lua tiene unanúmero de línea actual en Lua
De Lua usando debug.getinfo, por ejemplo,
local line = debug.getinfo(1).currentline
De lua_getinfo C utilizando una función de variable llamada _G
, pero no veo número de línea en especial allí ... (Esto devolverá el interior LineNumber código lua)
lua_Debug ar;
lua_getstack(L, 1, &ar);
lua_getinfo(L, "nSl", &ar);
int line = ar.currentline
¿Funcionaría lo anterior así ?: io.write (línea "Error on line") – qroberts
Funciona en Lua 5.3. Obtuve errores de infracción de acceso en Windows. ¿Funciona también para los casos cuando se ejecuta un script como un archivo y en una variable (llamadas de dos dígitos y de informe)? – TrustyCoder
@TrustyCoder Tuve el mismo problema. Esto solo funciona dentro de una implementación C de una función lua. NO funciona después de una llamada tratando de ver qué salió mal, también recibí excepciones. (Así que hice que mi función error-handlers incluyera esta información en su cadena de error). –