-- 计算表中最大值,table.maxn在Lua5.2以上版本中已无法使用
-- 自定义计算表中最大键值函数 table_maxn,即计算表的元素个数
function table_maxn(t)
local mn = 0
for k, v in pairs(t) do
-- print("table_maxn",k,v)
if mn < k then
mn = k
end
end
-- print("table_maxn return ",mn)
return mn
end
-- 两表相加操作
mytable = setmetatable({ 1, 2, 3 }, {
__add = function(mytable, newtable)
for i = 1, 4 do
print("table_maxn(mytable)",table_maxn(mytable),newtable[i])
table.insert(mytable, table_maxn(mytable)+1,newtable[i])
end
return mytable
end
})
secondtable = {3,4,5,6}
mytable = mytable + secondtable
for k,v in ipairs(mytable) do
print(k,v)
end