我怎样才能在Lua创建一个表,然后从C API添加值?
题
这是我迄今为止...它创建了一个名为“MOD”全局表,但我似乎无法添加索引表...
lua_newtable(L);
lua_setglobal(L,"mod");
解决方案
在手册表示:
void lua_setfield (lua_State *L, int index, const char *k);
是否等于
t[k] = v
,其中t
是在给定的有效的索引和v
值是在堆栈的顶部的值。此功能从堆栈中弹出的值。
所以,更确切地说:任何你想要添加到压栈,然后调用lua_setfield
。例如:
lua_pushnumber( L, 42 );
lua_setfield( L, -2, "answer_to_life_universe_and_rest" )
此插入字段 “answer_to_life ...” 与值42
到表中。
不隶属于 StackOverflow