Skip to content

Latest commit

 

History

History
54 lines (45 loc) · 1.44 KB

File metadata and controls

54 lines (45 loc) · 1.44 KB

1.11 table

table时Lua中的数据结构用于创建不同的数据类型,如:数组、字典等;table使用关联数组,可使用任意类型的值来作为数组的索引(但不能为nil)且其大小为非固定的。

初始化talble

使用“{}”初始化table

--构造空表
t={}
--设置值
t[1]="lua"
-- 移除引用,lua的垃圾回收机制会释放内存
-- 若没有变量引用table,则lua将会回收以释放内存
t=nil

table操作

方法 描述
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