table是lua中的一种"数据/代码结构",可以用俩创建不同的"数据类型"
lua语言中的数组其实就是table类型
array = {1, 2, 3, 4, 5} print(type(array)) --table
table基本使用:
1.初始化table
table 表名 = {}
myTable = {}
2.给table赋值
数组方式:以角标的方式进行赋值,索引从1开始
键值对方式
myTable[1] = "baidu" myTable[2] = "taobao" myTable[3] = "jd" myTable["a"] = "asd" myTable["xxx"] = "xxx"
迭代器方式遍历table:如果是数组用ipairs,如果是键值对,用pairs
for key, value in ipairs(表名) do
代码体
end
for key,value in pairs(myTable) do print(key,value) end
table相关方法
1.增加元素 table.insert(表名,[位置],值)
往指定位置增加元素,如果不写元素,默认往最后位置增加
这个方式适合"数组",不太适合"键值对"
键值对就用:表名['键']=值 的方式添加
2.移除元素 table.remove(表名,[位置])
如果超出范围,不会报错也不会移除任何元素
这个方式适合"数组",不能用于"键值对"
键值对就用:表名['键']=nil 的方式移除
3.获取长度 table.getn(表名)
这个方式适合"数组",不能用于"键值对"
table.insert(myTable, 1, "toutiao") table.insert(myTable, "360") myTable["abc"] = "abc" table.remove(myTable) myTable["xxx"] = nil for key,value in pairs(myTable) do print(key,value) end