Lua学习笔记-table

--建立一个有数据的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


你可能感兴趣的:(Lua学习笔记-table)