我正在使用lua C函数,但我不能使用lua_setfield。我需要的东西基本上可以做什么lua_setfield。我可以使用除lua_setfield之外的任何其他lua函数。有什么帮助吗?
答案 0 :(得分:1)
如果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));