Cocos2d-x 脚本语言Lua基本数据结构-表(table)
https://blog.****.net/wwj_748/article/details/33301603
table是Lua中唯一的数据结构,其他语言所提供的数据结构,如:arrays、records、lists、queues、sets等,Lua都是通过table来实现,并且在lua中table很好的实现了这些数据结构。--摘自:《Programming in Lua》
看以下代码,可以很清晰的明白Lua中表的使用:
- -- Lua中的表,table
- Config = {hello="Hello Lua",world="World"} -- 赋值方式1,以键=值的方式初始化
- Config.words = "Hello" -- 赋值方式2,通过指定table.key = value的形式方式赋值
- Config.num = 100 -- 通过赋值来指定类型
- Config["name"] = "ZhangSan" -- 赋值方式3,通过table["key"] = value的形式赋值
- -- 通过以下形式打印表的值
- print(Config["words"])
- print(Config.name)
- print(Config.hello)
- -- 通过for迭代器,遍历表,输出表中的键和值
- for key, var in pairs(Config) do
- print(key,var)
- end
以下代码是使用表来定义一个数组,使用表还可以定义矩阵和多维数组、链表、队列和双向队列、集合和包。
- --定义一个数组,初始化,这里初始化每个元素的类型可以不同
- arr = {1,2,3,4,"Hello"}
- --迭代数组
- for key, var in pairs(arr) do
- print(key,var)
- end
- --定义一个空表
- arr = {}
- --通过for循环,调用table的insert方法,往数组插入值
- for var=1, 100 do
- table.insert(arr,1,var)
- end
- --遍历数组,打印键,值
- for key, var in pairs(arr) do
- print(key,var)
- end
- --调用table的api,取得数组中最大的值
- print(table.maxn(arr))
读者,可以到以下地址,查看Lua给我们开发者提供的API,目前Lua最新的版本是5.2:http://www.lua.org/manual/5.2/
这里可以查看到相应的API的使用,具体参数的意思。