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

Lua中table的一些輔助函數(shù)介紹

 更新時間:2014年09月28日 08:49:05   投稿:junjie  
這篇文章主要介紹了Lua中table的一些輔助函數(shù)介紹,這些函數(shù)組成了table的函數(shù)庫,需要的朋友可以參考下

table庫是有一些輔助函數(shù)構(gòu)成的,這些函數(shù)將table作為數(shù)組來操作。其中,有對列表中插入和刪除元素的函數(shù),有對數(shù)組元素進行排序的函數(shù),還有對鏈接一個數(shù)組中所有字符串的函數(shù)。

0.table.getn()Lua 中我們經(jīng)常假定 array 在最后一個非 nil 元素處結(jié)束。

這個傳統(tǒng)的約定有一個弊端:我們的 array中不能擁有 nil 元素。對大部分應(yīng)用來說這個限制不是什么問題,比如當(dāng)所有的 array 有固定的類型的時候。但有些時候我們的 array 需要擁有 nil 元素,這種情況下,我們需要一種方法來明確的表明 array的大小.

1.tabel.insert()用于將一個元素插入到一個數(shù)組的指定位置,它會移動后續(xù)的元素以空出空間,且是數(shù)組的長度增加1.

eg:如果a是一個數(shù)組{10,20,30},調(diào)用table.insert(a,1,15)后,a變?yōu)閧15,10,20,30}。經(jīng)常使用的一個特殊情況是,我們不帶位置參數(shù)調(diào)用insert,將會在array最后位置插入元素(所以不需要元素移動)。

2.table.remove()函數(shù)刪除數(shù)組中指定位置的元素,并返回這個元素,所有后面的元素前移,并且數(shù)組的大小改變。不帶位置參數(shù)調(diào)用的時候,他刪除array的最后一個元素。

使用這兩個函數(shù),很容易實現(xiàn)棧、隊列和雙端隊列。我們可以初始化結(jié)構(gòu)為a={}。一個push操作等價于table.insert(a,x);一個pop操作等價于table.remove(a)。要在結(jié)構(gòu)的另一端結(jié)尾插入元素我們使用table.insert(a,1,x);刪除元素用table.remove(a,1)。最后兩個操作不是特別有效的,因為他們必須來回移動元素。然而,因為table庫這些函數(shù)使用C實現(xiàn),對于小的數(shù)組(幾百個元素)來說效率都不會有什么問題。

3.table.sort()他有兩個參數(shù):存放元素的數(shù)組和排序函數(shù)。

排序函數(shù)有兩個參數(shù)并且如果在array中排序后第一個參數(shù)在第二個參數(shù)前面,排序函數(shù)必須返回true。如果未提供排序函數(shù),sort使用默認的小于操作符進行比較。默認是升序。

一個常見的錯誤是企圖對表的下標(biāo)域進行排序。在一個表中,所有下標(biāo)組成一個集合,但是無序的。如果你想對他們排序,必須將他們復(fù)制到一個array然后對這個array排序。

對于Lua來說,數(shù)組也是無序的。但是我們知道怎樣去計數(shù),因此只要我們使用排序好的下標(biāo)訪問數(shù)組就可以得到排好序的函數(shù)名。這就是為什么我們一直使用ipairs而不是pairs遍歷數(shù)組的原因。前者使用key的順序1、2、……(ipairs),后者表的自然存儲順序(pairs)。

相關(guān)文章

  • Lua中的閉包學(xué)習(xí)筆記

    Lua中的閉包學(xué)習(xí)筆記

    這篇文章主要介紹了Lua中的閉包學(xué)習(xí)筆記,閉包是可以包含自由(未綁定到特定對象)變量的代碼塊;這些變量不是在這個代碼塊內(nèi)或者任何全局上下文中定義的,而是在定義代碼塊的環(huán)境中定義(局部變量),需要的朋友可以參考下
    2014-12-12
  • 舉例詳解Lua中的協(xié)同程序編程

    舉例詳解Lua中的協(xié)同程序編程

    這篇文章主要介紹了Lua中的協(xié)同程序編程,是Lua入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • Lua中__index和__newindex之間的沉默與合作

    Lua中__index和__newindex之間的沉默與合作

    這篇文章主要介紹了Lua中__index和__newindex之間的沉默與合作,本文著重講解了__index和__newindex之間的聯(lián)系,需要的朋友可以參考下
    2014-09-09
  • Lua中使用.和:調(diào)用函數(shù)的區(qū)別

    Lua中使用.和:調(diào)用函數(shù)的區(qū)別

    這篇文章主要介紹了Lua中使用.和:調(diào)用函數(shù)的區(qū)別,本文總結(jié)了它的調(diào)用函數(shù)的時傳入?yún)?shù)的區(qū)別,并給出了一個代碼實例,需要的朋友可以參考下
    2015-04-04
  • lua讀取redis數(shù)據(jù)的null判斷示例代碼

    lua讀取redis數(shù)據(jù)的null判斷示例代碼

    最近在工作中遇到了一個問題,通過查找相關(guān)資料才得知原因是因為返回結(jié)果的問題,下面這篇文章主要給大家介紹了關(guān)于lua讀取redis數(shù)據(jù)的null判斷的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-09-09
  • Lua中的函數(shù)代碼實例

    Lua中的函數(shù)代碼實例

    這篇文章主要介紹了Lua中的函數(shù)代碼實例,本文著重講解函數(shù)的寫法以及一些小知識,需要的朋友可以參考下
    2015-04-04
  • Lua教程(一):在C++中嵌入Lua腳本

    Lua教程(一):在C++中嵌入Lua腳本

    這篇文章主要介紹了Lua教程(一):在C++中嵌入Lua腳本,本文在MAC環(huán)境中開發(fā),同時探討了IOS項目集成Lua、Android項目集成Lua等內(nèi)容,需要的朋友可以參考下
    2014-09-09
  • Lua教程(六):綁定一個簡單的C++類

    Lua教程(六):綁定一個簡單的C++類

    這篇文章主要介紹了Lua教程(六):綁定一個簡單的C++類,本文是最后一篇C/C++與Lua交互的教程,其他教程請參閱本文下方的相關(guān)文章,需要的朋友可以參考下
    2014-09-09
  • C語言中調(diào)用Lua函數(shù)實例

    C語言中調(diào)用Lua函數(shù)實例

    這篇文章主要介紹了C語言中調(diào)用Lua函數(shù)實例,本文講解了調(diào)用一個Lua函數(shù)的步驟和C語言調(diào)用Lua函數(shù)實例,需要的朋友可以參考下
    2015-04-04
  • 基于 aLi Lua Web Server 的一個簡單例子

    基于 aLi Lua Web Server 的一個簡單例子

    這篇文章主要介紹了基于 aLi Lua Web Server 的一個簡單例子的代碼,非常簡單,推薦給大家。
    2015-03-03

最新評論

沂南县| 增城市| 渑池县| 丰都县| 五常市| 曲阜市| 彩票| 阿拉善左旗| 佛教| 哈巴河县| 玉龙| 普陀区| 禹州市| 巴彦淖尔市| 霍山县| 汽车| 玛纳斯县| 武胜县| 辽源市| 师宗县| 都江堰市| 合川市| 乐平市| 阜新市| 祁东县| 闽侯县| 四会市| 拜泉县| 鹰潭市| 南岸区| 盐津县| 同仁县| 临西县| 清丰县| 新兴县| 临沧市| 新平| 合水县| 射阳县| 广宗县| 大埔区|