题
我知道:http://lua-users.org/wiki/simpleluaapiexample
它向我展示了如何通过条目构建表(键,值)对条目。
相反,我想构建一个巨大的表(说一张1000个入口表,键和值是字符串),是否有一种快速的方法来执行此操作(而不是每个条目每个条目4个func调用:
push
key
value
rawset
解决方案
你写了什么 是 解决此问题的快速方法。 LUA桌子精心设计,并且足够快,因此不需要某种虚假的“提示”来说“我希望这张桌子会增长1000个元素。”
其他提示
对于字符串键,您可以使用 lua_setfield
.
不幸的是,对于关联表(字符串键,非连续键键),不,没有。
对于数组型表(使用常规1 ... n整数索引),有一些性能优化的功能, lua_rawgeti
和 lua_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);
}
不隶属于 StackOverflow