【发布时间】:2019-03-04 06:26:57
【问题描述】:
假设为即将到来的函数调用(lua_pcall())设置了 Lua 堆栈。
为了具体化,我们假设函数接受一个字符串参数,并且堆栈不包含函数下面的任何其他 Lua 对象。也就是说,堆栈看起来像这样:
Lua stack at 1 = a LUA_TFUNCTION
Lua stack at 2 = a LUA_TSTRING
如何从这样的堆栈中获取函数的名称?
我尝试了lua_tostring() 和luaL_getmetafield()(e = "__name"),但这些功能不适用于此目的。
【问题讨论】:
-
Lua 中的函数是匿名的。
-
@lhf 要清楚,他们可以是匿名的,你的意思是他们是一流的对象。
-
@val,我的意思是 Lua 中的函数无需指定名称即可存在。
标签: lua