--建立一个有数据的table
mytable2 = {
1,
2,
3,
4,
5,
"ok",
config = {1,2,3},
8
}
--[[
1.Lua中table的索引不是0,而是1
2.table的访问方法跟在其它语言中使用的方式很像
]]
for i=1,#mytable2 do --#mytable2表示获取table的长度
print(mytable2[i])
end--[[
1
2
3
4
5
ok
8
]]
s = "ok"
mytable = {
1,
2,
k = 12,
6,
config = {},
7
}
mytable[s] = 10
print(mytable[s]) --10
print(mytable["k"]) --12
print(mytable[k]) --nil
print(mytable.k) --12
--在Lua中mytable.k等价于mytable["k"]
--a.x a[x]易混淆,a.x等价于a["x"], a[x],以变量x的值来索引table
--第一种table的遍历方式
for i=1,#mytable do
print("value is "..mytable[i])
end
--第二种table的遍历方式,跟第一种获取的值是一样的,根据隐式索引来迭代显示值
for i,v in ipairs(mytable) do
print(i,v)
end
--第三种table的遍历方式 pairs迭代器是完全将所有的值显示出来,并且table中索引并不是完全按照书写顺序来的
for k,v in pairs(mytable) do
print(k,v)
end
转载于:https://my.oschina.net/hejunsen/blog/264657