欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Lua table簡明總結(jié)

 更新時間:2014年10月14日 13:10:31   投稿:junjie  
這篇文章主要介紹了Lua table簡明總結(jié),table是lua唯一的數(shù)據(jù)結(jié)構(gòu),table 是 lua 中最重要的數(shù)據(jù)類型,本文詳細(xì)講解了table的相關(guān)知識,需要的朋友可以參考下

一. table

table是lua唯一的數(shù)據(jù)結(jié)構(gòu)。table 是 lua 中最重要的數(shù)據(jù)類型。 table 類似于 python 中的字典。table 只能通過構(gòu)造式來創(chuàng)建。其他語言提供的其他數(shù)據(jù)結(jié)構(gòu)如array、list等等,lua都是通過table來實現(xiàn)的。table非常實用,可以用在不同的情景下。最常用的方式就是把table當(dāng)成其他語言的數(shù)組。

實例1:

復(fù)制代碼 代碼如下:

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

說明:

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

實例2:

復(fù)制代碼 代碼如下:

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

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

實例3:

復(fù)制代碼 代碼如下:

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

說明:

1). 數(shù)標(biāo)從1開始。
2). 省略key,會自動以1開始編號,并跳過設(shè)置過的key。

二. table函數(shù)

lua提供了許多實用的內(nèi)建函數(shù)來操作table。

2.1 table.getn(table)

返回table中的元素個數(shù)。

復(fù)制代碼 代碼如下:

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

2.2 table.insert(table,position,value)

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

2.3 table.remove(table,position)

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

復(fù)制代碼 代碼如下:

print(table.remove(tab,2)) -> hello jb51.net

三. table引用

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

復(fù)制代碼 代碼如下:

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

四. 多維table

在lua中創(chuàng)建多維table非常容易的。可以把多維table看做是table的table??梢酝ㄟ^多個關(guān)鍵字來訪問。

復(fù)制代碼 代碼如下:

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

五. 遍歷table

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

復(fù)制代碼 代碼如下:

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

輸出:

復(fù)制代碼 代碼如下:

1 : 10
2 : 11
3 : 12
4 : 13
s : www.dbjr.com.cn

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

相關(guān)文章

  • 淺析Lua中的迭代器

    淺析Lua中的迭代器

    這篇文章主要介紹了Lua中的迭代器,是Lua入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • phpredis執(zhí)行LUA腳本示例代碼

    phpredis執(zhí)行LUA腳本示例代碼

    這篇文章主要給大家介紹了關(guān)于phpredis執(zhí)行LUA腳本的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • Lua中關(guān)于元方法的一些知識點小結(jié)

    Lua中關(guān)于元方法的一些知識點小結(jié)

    這篇文章主要介紹了Lua中關(guān)于元方法的一些知識點小結(jié),本文講解了兩個具有不同元表的值進行算術(shù)操作、關(guān)系類的元方法、保護元表,需要的朋友可以參考下
    2014-09-09
  • 詳解Lua中的數(shù)組概念知識

    詳解Lua中的數(shù)組概念知識

    這篇文章主要介紹了Lua中的數(shù)組概念知識,是Lua入門學(xué)習(xí)中的基礎(chǔ),需要的朋友可以參考下
    2015-05-05
  • Lua與C語言間的交互實例

    Lua與C語言間的交互實例

    這篇文章主要介紹了Lua與C語言間的交互實例,本文主要講解了Lua中調(diào)用C語言的方法和例子,需要的朋友可以參考下
    2014-12-12
  • Lua協(xié)同程序(COROUTINE)運行步驟分解

    Lua協(xié)同程序(COROUTINE)運行步驟分解

    這篇文章主要介紹了Lua協(xié)同程序(COROUTINE)運行步驟分解,本文著重分解協(xié)同程序的運行步驟,需要的朋友可以參考下
    2015-01-01
  • Lua和C語言的交互詳解

    Lua和C語言的交互詳解

    這篇文章主要介紹了Lua和C語言的交互詳解,Lua和C語言通過棧完成交互,本文結(jié)合代碼實例詳細(xì)講解了交互的方法,需要的朋友可以參考下
    2014-09-09
  • Lua中的基本數(shù)據(jù)類型詳細(xì)介紹

    Lua中的基本數(shù)據(jù)類型詳細(xì)介紹

    這篇文章主要介紹了Lua中的基本數(shù)據(jù)類型詳細(xì)介紹,本文詳細(xì)的講解了Lua中的8種基本數(shù)據(jù)類型,需要的朋友可以參考下
    2014-09-09
  • Lua下基本的網(wǎng)絡(luò)編程示例

    Lua下基本的網(wǎng)絡(luò)編程示例

    這篇文章主要介紹了Lua下基本的網(wǎng)絡(luò)編程示例,包括簡單的服務(wù)器的搭建和相關(guān)web組件的介紹等,需要的朋友可以參考下
    2015-05-05
  • Lua面向?qū)ο缶幊虒W(xué)習(xí)筆記

    Lua面向?qū)ο缶幊虒W(xué)習(xí)筆記

    這篇文章主要介紹了Lua面向?qū)ο缶幊虒W(xué)習(xí)筆記,本文講解了Lua中實現(xiàn)類的例子、類之間繼承的例子等內(nèi)容,需要的朋友可以參考下
    2014-12-12

最新評論