最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Lua table簡明總結

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

一. table

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

實例1:

復制代碼 代碼如下:

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:

復制代碼 代碼如下:

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

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

實例3:

復制代碼 代碼如下:

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

說明:

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

二. table函數(shù)

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

2.1 table.getn(table)

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

復制代碼 代碼如下:

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值,則默認刪除最后一個元素。

復制代碼 代碼如下:

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

三. table引用

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

復制代碼 代碼如下:

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

四. 多維table

在lua中創(chuàng)建多維table非常容易的??梢园讯嗑Stable看做是table的table。可以通過多個關鍵字來訪問。

復制代碼 代碼如下:

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

五. 遍歷table

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

復制代碼 代碼如下:

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

輸出:

復制代碼 代碼如下:

1 : 10
2 : 11
3 : 12
4 : 13
s : www.fzitv.net

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

相關文章

  • 分析Lua觀察者模式最佳實踐之構建事件分發(fā)系統(tǒng)

    分析Lua觀察者模式最佳實踐之構建事件分發(fā)系統(tǒng)

    當對象間存在一對多關系時,則使用觀察者模式(Observer Pattern)。比如,當一個對象被修改時,則會自動通知依賴它的對象。觀察者模式屬于行為型模式
    2021-06-06
  • Lua腳本實現(xiàn)遞歸刪除一個文件夾

    Lua腳本實現(xiàn)遞歸刪除一個文件夾

    這篇文章主要介紹了Lua腳本實現(xiàn)遞歸刪除一個文件夾,本文給出了C++和Lua兩個版本的實現(xiàn)代碼,需要的朋友可以參考下
    2015-05-05
  • Lua table簡明總結

    Lua table簡明總結

    這篇文章主要介紹了Lua table簡明總結,table是lua唯一的數(shù)據(jù)結構,table 是 lua 中最重要的數(shù)據(jù)類型,本文詳細講解了table的相關知識,需要的朋友可以參考下
    2014-10-10
  • Lua和C++的通信流程分解

    Lua和C++的通信流程分解

    這篇文章主要介紹了Lua和C++的通信流程分解,本文用一張圖講解了Lua和C++之間的通信流程,并對每一步做了分解,需要的朋友可以參考下
    2014-09-09
  • Lua教程(三):表達式和語句

    Lua教程(三):表達式和語句

    這篇文章主要介紹了Lua教程(三):表達式和語句,本文講解了算術操作符、關系操作符、邏輯操作符、字符串連接、table構造器、控制結構等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • Lua腳本獲取喜馬拉雅MP3音頻地址

    Lua腳本獲取喜馬拉雅MP3音頻地址

    這篇文章主要介紹了Lua腳本獲取喜馬拉雅MP3音頻地址,本文直接給出代碼實例,需要的朋友可以參考下
    2015-04-04
  • 使用Lua編寫Web端模板引擎的實例代碼分享

    使用Lua編寫Web端模板引擎的實例代碼分享

    這里我們給出一個使用Lua編寫Web端模板引擎的實例代碼分享,力求簡潔(核心代碼約為70行),僅實現(xiàn)最基本的模板功能:
    2016-06-06
  • Lua模擬面向對象示例分享

    Lua模擬面向對象示例分享

    本文這里主要給大家分享的是一則使用Lua模擬面向對象的方法的示例代碼,大家學習下思路,希望對大家能夠有所幫助。
    2015-03-03
  • Lua中算術運算符的使用示例

    Lua中算術運算符的使用示例

    這篇文章主要介紹了Lua中算術運算符的使用示例,是Lua入門學習中的基礎知識,需要的朋友可以參考下
    2015-05-05
  • 安裝Nginx+Lua開發(fā)環(huán)境

    安裝Nginx+Lua開發(fā)環(huán)境

    本文主要詳細介紹了安裝Nginx+Lua開發(fā)環(huán)境的過程以及nginx+lua的配置,十分的詳盡,這里推薦給小伙伴們。
    2015-02-02

最新評論

宝山区| 横山县| 西安市| 北海市| 三门峡市| 阿巴嘎旗| 新密市| 灌阳县| 宜兰县| 康保县| 兰溪市| 光泽县| 浙江省| 灌云县| 合山市| 长沙县| 福鼎市| 安宁市| 呼和浩特市| 额敏县| 东乡族自治县| 铜陵市| 治县。| 巴楚县| 黑水县| 博罗县| 阜南县| 霍城县| 晋江市| 长阳| 保德县| 若尔盖县| 灵川县| 雷波县| 平罗县| 九江市| 濮阳县| 区。| 武功县| 桦甸市| 汨罗市|