11.lua中的table

[ ]:表示可选
基本形式: tab1 = {[元素1],[元素2]} ; 元素1,元素2,可以是不同的类型
1.table定义一维数组

lua中数组下标是从1开始的,且同一数组可以存储不同类型的数据(这与C不一样)

t1 = {1,2,3,4}
t2 = {"a","b","c"}
t3 = {1,2,"a","b"}
t3[5] = "fsfdsf"

print (t1[2])
print (t2[3])
print (t3[1])
print (t3[5])
//输出结果如下:
2
c
1
fsfdsf

2.table定义二维数组

t1 = {} --定义空
for i = 1, 4 do
	t1[i] = {} --这里必须要定义空
		for j = 1, 3 do
			t1[i][j] = i + j
		end
end
--遍历
for i = 1, 4 do
	str = ""
	for j = 1, 3 do
		str = str..t1[i][j].." "
	end
	print(str)
end
//输出结果如下:
2 3 4 
3 4 5 
4 5 6 
5 6 7

3.table定义map

基本形式:tab1 = { key1 = value1, key2 = value2} 或 tab1 = { ["key1"] = value1, ["key2"] = value2}
//示例
text = "xx"
--table定义map
t1 = {name = "张三"}
t2 = {["name"] = "李四"}
t3 = { [text.."pl"] = "jkl"} --定义map其key为表达式
--下标表方式操作
print(t1["name"])
print(t2["name"])
--.方式操作
t1.age = 22
t2.age = 23

print(t1.age)
print(t2.age)
print(t3.xxpl)
//输出结果如下:
张三
李四
22
23
jkl
//数组元素为map
t1 = {{name = "张三",age = 20},{name = "李四",age = 21}}
for i = 1,2 do
	print(t1[i].name..": "..t1[i].age)
end
输出结果如下:
张三: 20
李四: 21
posted @ 2024-04-13 11:42  test369  阅读(14)  评论(0编辑  收藏  举报