Cocos2d-x 脚本语言Lua基本数据结构-表(table)
Cocos2d-x 脚本语言Lua基本数据结构-表(table)
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的使用,详细參数的意思。