1. 程式人生 > >Cocos2d-x 腳本語言Lua基本數據結構-表(table)

Cocos2d-x 腳本語言Lua基本數據結構-表(table)

air align ogr ont .org java 都是 鏈表 地址

Cocos2d-x 腳本語言Lua基本數據結構-表(table)
tableLua中唯一的數據結構。其它語言所提供的數據結構,如:arraysrecordslistsqueuessets等。Lua都是通過table來實現。而且在luatable非常好的實現了這些數據結構。

--摘自:《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的使用,詳細參數的意思。



Cocos2d-x 腳本語言Lua基本數據結構-表(table)