Lua C 5.1 - 迭代所有全局值

时间:2017-09-22 22:56:08

标签: c++ lua luac

最近我一直在探索luac 5.1 api,我想知道是否有可能遍历5.1 api中的每个全局值,我知道可以在5.2(引用here)中执行此操作lua_pushglobaltable(lua_State *)存在。我知道有LUA_GLOBALSINDEX但是我不确定如何将它用于此目的。任何帮助将不胜感激!

谢谢:)

1 个答案:

答案 0 :(得分:3)

您可以使用您提到的答案中的代码。就这样做:

Animal

这是一个列出所有全局变量的完整程序。如果删除了定义,则它适用于Lua 5.2和5.3。

#define lua_pushglobaltable(L) lua_pushvalue(L,LUA_GLOBALSINDEX)