5

这是我到目前为止所拥有的......它创建了名为“mod”的全局表,但我似乎无法向表中添加索引......

lua_newtable(L);
lua_setglobal(L,"mod");
4

1 回答 1

7

手册说:

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插入到表中。

于 2010-11-18T23:33:22.297 回答