不推荐使用table.getn - 如何获取数组的长度?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不推荐使用table.getn - 如何获取数组的长度?相关的知识,希望对你有一定的参考价值。
我想用table.getn
在Lua中获取数组的长度。我收到此错误:
不推荐使用函数table.getn!
(在Transformice Lua中)
答案
使用#
:
> a = {10, 11, 12, 13}
> print(#a)
4
但请注意,长度运算符#
不适用于非数组的表,它只计算数组部分中的元素数(索引为1,2,3等)。
这不起作用:
> a = {1, 2, [5] = 7, key = '1234321', 15}
> print(#a)
3
这里只有(1,2和15)在数组部分。
另一答案
对于实际具有键值对的表,您可以编写一个对它们进行计数的简单函数:
function getTableSize(t)
local count = 0
for _, __ in pairs(t) do
count = count + 1
end
return count
end
以上是关于不推荐使用table.getn - 如何获取数组的长度?的主要内容,如果未能解决你的问题,请参考以下文章
lua中 table.getn(t) #t table.maxn(t) 这三个什么区别?
快速体验,学习lua(一种可嵌入c++,c#,android,object-c等并进行互调支持热更新的脚本)的入门调试系列