我知道:http://lua-users.org/wiki/simpleluaapiexample

它向我展示了如何通过条目构建表(键,值)对条目。

相反,我想构建一个巨大的表(说一张1000个入口表,键和值是字符串),是否有一种快速的方法来执行此操作(而不是每个条目每个条目4个func调用:

push
key
value
rawset
有帮助吗?

解决方案

你写了什么 解决此问题的快速方法。 LUA桌子精心设计,并且足够快,因此不需要某种虚假的“提示”来说“我希望这张桌子会增长1000个元素。”

其他提示

对于字符串键,您可以使用 lua_setfield.

不幸的是,对于关联表(字符串键,非连续键键),不,没有。

对于数组型表(使用常规1 ... n整数索引),有一些性能优化的功能, lua_rawgetilua_rawseti: http://www.lua.org/pil/27.1.html

您可以使用Createtable创建一个已经具有所需数量插槽数的表。但是,此后,除了更快的速度

for(int i = 0; i < 1000; i++) {
    lua_push... // key
    lua_push... // value
    lua_rawset(L, tableindex);
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top