Lua表仍然为空,尽管我已经给它添加了内容。

在我的基于Lua的游戏中,我尝试创建一个资源管理器来查看已创建的所有实例。我在我的DataModel "class"(我喜欢这样称呼它)中创建了一个函数,它将扫描一个项目的子项,并将其整齐地放入表中。

问题在于,print(#dmyself)输出为** 0 **。但是,您可以看到,我刚刚在其中设置了3件事情。是什么原因导致这种情况发生?我做错了什么吗?

print(obj.Name)返回应该返回的内容。我只是困在了'dmyself'。

点赞
用户646619
用户646619

# 是 Lua 表格的 数组部分 的长度;它仅考虑整数键。具体来说,

表 t 的长度被定义为任何整数索引 n,满足 t[n] 不为 nil,且 t[n+1] 为 nil;此外,如果 t[1] 为 nil,则 n 可以为零。对于常规数组,其非 nil 值范围从 1 到给定的 n,则其长度正好为 n,即其最后一个值的索引。

如果使用 pairs,则可以看到表不为空。但由于表的数组部分中没有任何内容,因此其长度为零。

2014-06-14 15:53:54