标签:
1:直接用table声明并初始化一个数组
arr = {1,2,3,4,5,6,7} ------> index 从 1 开始
2:循环创建一个数组
arr = {}
for i =1, 1000 do
arr[i] =0
end
------>拿到数组长度 #arr(即时arr index从 -100 或者 99开始,#arr返回的都是1000) 这里的数组初始化value全部为0
3:创建一个矩阵
matrix = {}
--声明一个 M 行 N 列的矩阵
for i = 1, M do
matrix[i] = {}
for j = 1 , N do
matrix[i][j] = i*j
end
end
--接下来输出第X行 第Y列
print(matrix[1][1] .. matrix[1][2] .. matrix[1][3])
print(matrix[2][1] .. matrix[2][2] .. matrix[2][3])
print(matrix[3][1] .. matrix[3][2] .. matrix[3][3])
------->如果 M = 3 ; N = 3
------->输出:1 2 3
2 4 6
3 6 9
===============下面创建一个金字塔矩阵================
matrix = {}
for i = 1, 3 do --行数当然是多行
matrix[i] = {}
for j = 1, i do --列从1 到 i 的最大值
matrix[i][j] = i*j
end
end
--接下来输出第X行 第Y列
print(matrix[1][1])
print(matrix[2][1] .. matrix[2][2] )
print(matrix[3][1] .. matrix[3][2] .. matrix[3][3])
print(matrix[1][10])
------>输出: 1 2 4 3 6 9 nil
4:合并索引矩阵
matrix = {}
for i =1, 3 do
for j = 1, 3 do
matrix[(i-1)*10+j] = i*j
end
end
--接下来输出所有k v
for k in pairs(matrix) do
print(k,matrix[k])
end
-------->输出: (顺序有些不对 Lua的问题;当然也可以不遍历输出就不会错位)
1 1
2 2
3 3
11 2
13 6
21 3
12 4
23 9
22 6
Lua初学习 9-14_01 数据结构 ---> 数组与矩阵
标签:
原文地址:http://www.cnblogs.com/cocotang/p/5870645.html