lua表
1: lua没有数组,但是表可以代替数组的功能(数组部分与非数组部分);
a.Lua表的数组部分的索引是从1开始的, 1, 2, 3 ...称连续的索引;
b.Lua表的连续索引的长度(数组部分); #表的名字;
--数组部分 索引从1开始(lua特色) local list_array = {20,10,30,5,6} --20 10 30 5 6 print(list_array[1],list_array[2],list_array[3],list_array[4],list_array[5]) --返回lua表里面数组部分的长度 --必须要求是连续的 print(#list_array) --5 --增加元素 因为索引不连续 增加失败 list_array[11] = 20 print(#list_array) --5 数组长度还是5 --增加元素成功 list_array[6] = 20 print(#list_array) --6 数组长度为6了
c.Lua表支持key, value模式;
2.遍历表
a.
b.
源码:
--数组部分 索引从1开始(lua特色) local list_array = {20,10,30,5,6} --20 10 30 5 6 print(list_array[1],list_array[2],list_array[3],list_array[4],list_array[5]) print("$$$$$$$$$$$$$$$$$") --遍历lua里面的数组部分的数据 local index = 1 for index = 1,#list_array do print(list_array[index]) end print("$$$$$$$$$$$$$$$$$") --遍历表里面所有的数据 for k,v in pairs(list_array) do print(k,v) end
结果显示
3.表的接口
1: table.insert(table, pos, value):
--数组部分 索引从1开始(lua特色) local list_array = {20,10,30,5,6} --20 10 30 5 6 print(list_array[1],list_array[2],list_array[3],list_array[4],list_array[5]) --插入数据 table.insert(list_array,2,8) for k,v in pairs(list_array) do print(k,v) end
在table的数组部分指定位置(pos)插入值为value的一个元素, pos参数可选, 默认为数组部分末尾
2: table.remove(table, pos)
函数删除并返回table数组部分位于pos位置的元素. 其后的元素会被前移. pos参数可选, 默认为table长度, 即从最后一个元素删起
3: table.sort(table, 比较函数): 对table进行排序
--数组部分 索引从1开始(lua特色) local list_array = {20,10,30,5,6} --20 10 30 5 6 print(list_array[1],list_array[2],list_array[3],list_array[4],list_array[5]) print("$$$$$$$$$$$$$$$$$$$$") --排序 table.sort(list_array) --遍历所有数据 for k,v in pairs(list_array) do print(k,v) end
4: table.getn(table)返回表中元素的个数; -->数组部分 (与#类似)