2012-08-09 38 views
11

我正试图学习Lua上的绳索,并且正在浏览在线教程。我试图解决的一个问题是检查表local foo = {}以查看它有多少元素。教程给出了使用local length = table.getn(foo)的建议。当我尝试使用Lua52时,出现错误,提示attempt to call field 'getn' (a nil value)。我环顾四周,并进一步发现任何与table给出的函数产生相同类型的错误。从Lua中删除了table库吗?它是第三方库,还是什么给?删除了Lua表格库吗?

回答

27

使用长度运算符##foo中相同。

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

+2

第一击为“阵列的LUA大小”是[这显然可怕过时的书(https://www.lua.org/pil/19.1.html)倡导'table.getn'。这就是'lua.org'。 – Zulan 2016-09-11 22:00:25

5

表库未被删除,因为它是语言和模块系统的重要组成部分。除去getn功能,但如果表功能没有的工作,它几乎可以肯定,因为你已经覆盖table