19

我正在尝试学习 Lua 的技巧,并且正在阅读在线教程。我试图解决的一个问题是检查一张表local foo = {},看看它有多少元素。该教程给出了使用的建议local length = table.getn(foo)。当我使用 Lua52 尝试此操作时,我收到一条错误消息attempt to call field 'getn' (a nil value)。我进一步环顾四周,注意到给出的任何函数table都会产生相同类型的错误。该table库是否从 Lua 中删除?它是第三方库,还是提供了什么?

4

2 回答 2

40

使用长度运算符#,如#foo.

table.getn在 5.1 中已弃用并在 5.2 中删除。

于 2012-08-09T19:05:17.153 回答
5

表库没有被删除,因为它是语言和模块系统的重要组成部分。该getn函数已被删除,但如果函数都不起作用,那几乎可以肯定是因为您覆盖了table.

于 2012-10-13T04:36:07.177 回答