Table
lua的table相较于C#,自由度极高,table[key]=value.只要key值对应值就可以,对key值的类型和值的类型没有要求
Mytable ={} --初始化
Mytable[1] = "table1" --赋值
Mytable[table] = 1 --赋值
print(Mytable[1])
print(Mytable[table])
--结果:table 1
- 将table a赋值给table b,此时a和b均指向table,将a销毁改变不影响b,当a和b均销毁则,table自动销毁
Mytable = "没修改"
Mytable2 =Mytable
print(Mytable2)
--结果:"没修改"
Mytable2 = "修改了"
print(Mytable)
--结果:"修改了"
Mytable=nil
print(Mytable)
print(Mytable2)
--结果:nil "修改了"
table操作
(1)table.concat(table,“sep”,start,end):
sep:分隔号
start:开始链接的位置
end:结束链接的位置
Mytable = {"第一个","第二个","第三个"}
print("链接全部:",table.concat(Mytable))
print("连接以“,”分隔:",table.concat(Mytable,","))
print("链接后两个","分隔:",table.concat(Mytable,",",2,3))
--链接全部: 第一个第二个第三个
--连接以“,”分隔: 第一个,第二个,第三个
--链接后两个 分隔: 第二个,第三个
(2)table.insert(table,nub, value)
nub:插入位置
value:插入值
Mytable = {"第一个","第二个","第三个"}
table.insert(Mytable,"第四个")
print("直接插入:",Mytable[4])
table.insert(Mttable,2,"插到第二个")
print("直接插入:",Mytable[2])
--直接插入: 第四个
--直接插入: 插到第二个
(3)table.remove(table,nub,value)
用法同insert
tbale长度
通过迭代获取table长度
function table_Leng(array)
local leng =0
for k,v pairs(array) do
leng = leng+1
end
return leng
end