我正在使用 lua C 函数,但无法使用 lua_setfield。我需要一些基本上可以完成 lua_setfield 功能的东西。我可以使用除 lua_setfield 之外的任何其他 lua 函数。有什么帮助吗?
最佳答案
如果i
为正数(即绝对值),则lua_setfield(L,i,k)
相当于
lua_pushstring(L,k);
lua_insert(L,-2);
lua_settable(L,i);
如果i
为负数(即相对),则lua_setfield(L,i,k)
相当于
lua_pushstring(L,k);
lua_insert(L,-2);
lua_settable(L,i-1);
下面的代码结合了这两者:
lua_pushstring(L,k);
lua_insert(L,-2);
lua_settable(L,i-(i<0));
关于c++ - lua_setfield 有什么替代方法吗? (Lua C/C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48082405/