1 table.getn不一定正确返回表中元素数量。
table.getn只能返回索引从1开始的连续元素数量,对于table = {[5]=1, [6]=1}这种表table.getn返回为0。
可以用下面辅助函数
--判断一个表是否为空
function IsTableEmpty(tTable)
for k, v in pairs(tTable) do
return false
end
return true
end
--获得表中元素数量
function GetTableNum(tTable)
local i = 0
for k, v in pairs(tTable) do
i=i+1
end
return i
end
(20100611世界杯开幕)
2 Lua无法定义local的成员函数
例如:
local function ClassName:__FunctionName()
self...
end
是非法的。
解决方法:
local __FunctionName= function()
self...
end
可以写在类的成员函数内部,就可以在该local函数内使用self
本文介绍了Lua语言中处理表的一些实用技巧,包括如何准确地获取表中元素的数量,以及定义局部成员函数的方法。针对table.getn可能存在的局限性,提供了一个通用的函数来计算表的实际元素数量。
4352

被折叠的 条评论
为什么被折叠?



