table时Lua中的数据结构用于创建不同的数据类型,如:数组、字典等;table使用关联数组,可使用任意类型的值来作为数组的索引(但不能为nil)且其大小为非固定的。
使用“{}”初始化table
--构造空表
t={}
--设置值
t[1]="lua"
-- 移除引用,lua的垃圾回收机制会释放内存
-- 若没有变量引用table,则lua将会回收以释放内存
t=nil
方法 | 描述 |
---|---|
table.concat(table,sep,start,end) | 列出table从start到end位置的元素并以指定分隔符sep连接 |
table.insert(table,pos,val) | 在table指定位置pos插入val元素,pos可选(默认为尾部) |
table.remove(table,pos) | 移除指定位置的元素,后面的元素会前移 |
table.sort(table,comp) | 对table进行排序 |
arr={1,2,3}
function printTable(t)
for k,v in pairs(t) do
io.write(" "..v.." ")
end
print()
end
-- --
print(table.concat( arr, "-"))
table.insert( arr, 1, 4 )
printTable(arr)
table.remove( arr, 1 )
printTable(arr)
table.sort( arr, function (a,b)
return a>b
end)
printTable(arr)
1-2-3
4 1 2 3
1 2 3
3 2 1