c – Lua table.getn()返回0?
发布时间:2020-12-16 05:31:36 所属栏目:百科 来源:网络整理
导读:我已将Lua嵌入到我的C应用程序中,我试图找出为什么在C代码中创建一个表: lua_createtable(L,numObjects); 并返回到Lua,当我打电话给以下时,会产生一个结果: print("Num entries",table.getn(data)) (其中“data”是由lua_createtable创建的表) 表中有清楚
我已将Lua嵌入到我的C应用程序中,我试图找出为什么在C代码中创建一个表:
lua_createtable(L,numObjects); 并返回到Lua,当我打电话给以下时,会产生一个结果: print("Num entries",table.getn(data)) (其中“data”是由lua_createtable创建的表) 表中有清楚的数据,因为我可以通过以下方式遍历每个条目(字符串:userdata)对: for key,val in pairs(data) do ... end 但是为什么table.getn(data)返回零?当我用lua_createtable创建它时,是否需要在表的元素中插入东西?我一直在看lua_createtable使用的例子,我没有看到这样做在任何地方…. 解决方法
table.getn(您不应该在Lua 5.1中使用).使用length运算符#)返回表的数组部分中的元素数.
数组部分是从数字1开始的每个键,并增加直到第一个值为零(不存在).如果所有的键都是字符串,那么表的数组部分的大小为0. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |