Lua语言中,数组和C还是有区别的,Lua的数组下标从1开始计数,而C语言的数组下标从0开始计数,我想这可能是设计Lua的人想要符合人的思维习惯而去这么设计的。
数组,也就是按相同类型,在内存中顺序排列的一个组合,这点跟C基本没多大的差别。
接下来看1个例子:
test7.lua
--一维数组,数组的成员是字符串 array = {"Lua","Study"}; for i = 1 , 2 do print(array[i]); end --一维数组,数组的成员是整型数据 array1 = {1,2,3,4,5,6,7,8,9,10}; for i = 1 , 10 do print(i); end --循环执行次数 --第一次 i = 1 , j = 1 , array[i][j] = i * j = 1 * 1 = 1 --第二次 i = 1 , j = 2 , array[i][j] = i * j = 1 * 2 = 2 --第三次 i = 2 , j = 1 , array[i][j] = i * j = 2 * 1 = 2 --第四次 i = 2 , j = 2 , array[i][j] = i * j = 2 * 2 = 4 --初始化一个2 * 2 的多维数组 array = {}; for i = 1 , 2 do array[i] = {} ; for j = 1 , 2 do array[i][j] = i * j ; end end --打印这个数组的值 for i = 1 , 2 do for j = 1 , 2 do print(array[i][j]); end end解释运行: lua test7.lua
运行结果:
Lua
Study
1
2
3
4
5
6
7
8
9
10
1
2
2
4