Lua中的表
- 表是Lua里唯一的数据结构,我们可以近似的理解为其他编程语言中的字典,关联数组或者key-value映射
- 表很灵活,能够模拟出array,list,dict,set,map等常见的数据结构,或者其他任意复杂的结构
定义表
- Lua表里作为索引的key可以是任何非nil值.所以当key类型为整型时表就相当于数组,当key的类型为字符串时表就相当于字典或者关联数组.
- Lua表对value的类型没有任何限制,当然也可以为另外一个表,从而实现多个表的嵌套.
local my_table = {} -- 创建了一张空表
local slice_table = {1, 2, 3} -- 此时创建的为数组
local dict_table = {key="hello", ['sum']=7} -- 此时创建的为字典
Note:
- 在使用"key=value"的形式是key不需要用双引号或单引号,如果必须要用,如key中存在空格或特殊字符则使用['key']=value的形式
- 定义表时的逗号","也可以是分号";",两者没有不同,但是可以做一些形式上的区分.
操作表
Lua中的表示动态数据结构,不仅能够访问已有的元素,还能动态向表里添加或删除元素.
- key为字符串的可以使用点号(.)来操作表
local x = {}
x['name'] = "summary"
print(x.name)
that's all