我该如何在Lua中创建一张表,并从C API中添加值?

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

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

原文链接 https://stackoverflow.com/questions/4220748

点赞
stackoverflow用户381179
stackoverflow用户381179

手册中写道:

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-18 23:33:22