国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

Lua table簡明總結

2024-07-21 23:04:14
字體:
來源:轉載
供稿:網友

一. table

table是lua唯一的數據結構。table 是 lua 中最重要的數據類型。 table 類似于 python 中的字典。table 只能通過構造式來創建。其他語言提供的其他數據結構如array、list等等,lua都是通過table來實現的。table非常實用,可以用在不同的情景下。最常用的方式就是把table當成其他語言的數組。

實例1:

 

復制代碼 代碼如下:

mytable = {}
for index = 1, 100 do
    mytable[index] = math.random(1,1000)
end

 

說明:

1). 數組不必事先定義大小,可動態增長。
2). 創建包含100個元素的table,每個元素隨機賦1-1000之間的值。
3). 可以通過mytable[x]訪問任意元素,x表示索引。
4). 索引從1開始。

實例2:

 

復制代碼 代碼如下:

tab = { a = 10, b = 20, c = 30, d = 'm.survivalescaperooms.com' }
print(tab["a"])

 

說明:
1). table 中的每項要求是 key = value 的形式。
2). key 只能是字符串, 這里的 a, b, c, d 都是字符串,但是不能加上引號。
3). 通過 key 來訪問 table 的值,這時候, a 必須加上引號。

實例3:

 

復制代碼 代碼如下:

tab = { 10, s = 'm.survivalescaperooms.com', 11, 12, 13 }
print(tab[1]) = 10
print(tab[2]) = 11
print(tab[3]) = 12
print(tab[4]) = 13

 

說明:

1). 數標從1開始。
2). 省略key,會自動以1開始編號,并跳過設置過的key。

二. table函數

lua提供了許多實用的內建函數來操作table。

2.1 table.getn(table)

返回table中的元素個數。

復制代碼 代碼如下:

print(table.getn(tab)) -> 4

 

2.2 table.insert(table,position,value)

在table中插入一個新的值,位置參數可選的,如果沒有指定,會添加table的末尾,否則插入到指定的位置。
table.insert(tab, 2, “hello vevb.com”)
插入”hello vevb.com”到table的第2個元素的位置,并重新索引。

2.3 table.remove(table,position)

從指定table中刪除并返回一個元素,如果沒有指定position值,則默認刪除最后一個元素。

復制代碼 代碼如下:

print(table.remove(tab,2)) -> hello vevb.com

 

三. table引用

table不僅可以使用數字索引,也可以用其他值作為索引值。

復制代碼 代碼如下:

tab = ()
tab.website = "m.survivalescaperooms.com"
tab.QQ = "39514058"
tab.a = math.random(1,10)
tab[1] = 11
tab[2] = 22

 

四. 多維table

在lua中創建多維table非常容易的。可以把多維table看做是table的table。可以通過多個關鍵字來訪問。

復制代碼 代碼如下:

multitab = {}
multitab.name = {}
multitab.author = {}
multitab.name[1] = "QQ qun: 39514058"
multitab.name[2] = "website: http://m.survivalescaperooms.com"
multitab.author[1] = "默北"
multitab.author[2] = "涼白開"
multitab.author[3] = "tonyty163"

 

五. 遍歷table

pairs()函數可以遍歷table中的每個元素。

 

復制代碼 代碼如下:

tab = { 10, s = 'm.survivalescaperooms.com', 11, 12, 13 }
for k, v in pairs(tab) do
    print(k, ":", v)
end

 

輸出:

 

復制代碼 代碼如下:

1 : 10
2 : 11
3 : 12
4 : 13
s : m.survivalescaperooms.com

 

pairs()函數遍歷整個table,即使不知道table長度,并返回索引值和相對應的元素值。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新绛县| 绥中县| 八宿县| 通海县| 彩票| 湖州市| 商河县| 卓资县| 渝中区| 福海县| 鹤峰县| 泽州县| 赣州市| 洪江市| 汶川县| 呈贡县| 海原县| 大宁县| 镇康县| 隆安县| 衢州市| 南昌县| 昌平区| 黑水县| 通辽市| 剑河县| 汨罗市| 都安| 沾益县| 甘孜| 普兰店市| 宜黄县| 涿鹿县| 灵丘县| 平湖市| 临朐县| 额尔古纳市| 彩票| 南京市| 台湾省| 淮安市|