lua学习之table数据集 以及三种遍历的方式

--[[

1. lua可以作为一种插件集成到项目当中,为项目提供一个支持功能
2. 完全使用lua进行开发,quick-cocos2dx、CoronaSDK
3. 当做一种数据的配置集(阵列)

]]



-- 建立一个空的table

mytable = {} 

--建立一个有数据的table

mytable2 = {
	
	1,
	3,
	5,
	7,
	9
}
  
--使用for循环进行一个遍历

for i=1,#mytable2 do
	print(mytable2[i])
end

--[[

特点
	1. lua中table的索引是从 1 开始 而不是从 0 开始
	2. table的访问方式与c++中访问数组的方式类似 
]]



--table的三种遍历方式

--table 支持链表、键值对等多种方式
--在table中采用键值对的形式的时候,索引是采用字符串的类型

mytable3 = {
	1,
	3,
	4,
	k=50,
	6
}

print(mytable3["k"])
print(mytable3.k)   --在lua中mytable3.k 相当于 mytable3["k"]

--[[

	a.x 等价于  a["x"]
	a[x] 表示以变量x的值来索引table
]]

 
-- 第一种的遍历方式  普通for循环  只会遍历出连续的数字,但是涉及到键值对就不会继续遍历

for i =1 , #mytable3 do
	print("mytable3 value is "..mytable3[i])
end

-- 第二种遍历方式  for  ipairs ipairs 与   ipairs 迭代器与第一种方式所获取的值是相同的,都是按照当前隐式的索引去迭代并且显示值

for i,v in ipairs(mytable3) do
	print(i,v)
end

print("--------------------------")

--第三种遍历方式 pairs的迭代器 会将table中所有的值都进行一个输出  并且table中的索引并不按照书写顺序来  通俗的说打印顺序不与自己所写的顺序相同
 
for k,v in pairs(mytable3) do
	print(k,v)
end


你可能感兴趣的:(lua)