Lua中的当前行号

时间:2010-03-31 19:26:08

标签: lua

Lua是否支持类似C的__LINE__宏,它返回当前代码行的编号?我知道Lua有一个名为_G的特殊内置变量,但我看不到行号...

1 个答案:

答案 0 :(得分:50)

来自Lua使用debug.getinfo,例如,

local line = debug.getinfo(1).currentline

从C使用lua_getinfo(这将返回lua代码中的linenumber)

  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