表创建
表是 Lua 特有的功能强大的东西。最简单的构造函数是{}
,用来创建一个空表。可以直接初始化数组:
days = {"Sunday".."12", "Monday" or 2, "Tuesday","Wednesday","Thursday", "Friday", "Saturday"}
创建了一个days
的表格, 其中..
为连接符, or
运算结果和其他语言有点不同,并返回的并不是true或者false。我们来查看一下表格里的数据,值得注意的是lua下标是从1开始的。
> print(days[1])
Sunday12
>
再看看,
> print(days[2])
Monday
>
表元素的风格
在table中可以有两种风格,一种为列表风格,另一种为record 风格。
-
列表风格
-
record 风格
列表风格如下:
{"one", "two", "three"}
使用下表访问列表的不同元素:
> obj = {"one", "two", "three"}
> print(obj[1])
one
>
record风格的表:
> obj={x=1,y=2}
> print(obj.x)
1
> print(obj[1])
nil
>
使用下标无法访问到元素,需要使用.
。
同样的可以使两种风格进行混搭,
> obj ={x=10, y=45, "one",z=1, "two", "three"}
> print(obj.z)
1
> print(obj[2])
two
>
在进行元素寻找时,不同风格按照不同风格的形式进行寻找,互不干扰。