婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Lua中table的一些輔助函數介紹

Lua中table的一些輔助函數介紹

熱門標簽:清朝地圖標注哈爾濱 百度地圖標注早餐區域 怎么去除地圖標注 地圖標注大廈 個人怎么在地圖標注需要的店鋪 新岸線智能電銷機器人 冀州市地圖標注 武漢外呼防封系統多少錢 漳州智云呼電話機器人

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

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

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

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

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

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

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

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

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

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

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

您可能感興趣的文章:
  • Lua中的table淺析
  • Lua中的元表(metatable)、元方法(metamethod)詳解
  • Lua中table的幾種構造方式詳解

標簽:金昌 濰坊 天門 儋州 臺灣 宣城 天門 德宏

巨人網絡通訊聲明:本文標題《Lua中table的一些輔助函數介紹》,本文關鍵詞  Lua,中,table,的,一些,輔助,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Lua中table的一些輔助函數介紹》相關的同類信息!
  • 本頁收集關于Lua中table的一些輔助函數介紹的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 陆丰市| 湖南省| 祥云县| 屯昌县| 福建省| 广河县| 崇仁县| 高清| 河津市| 广东省| 呼伦贝尔市| 信宜市| 交口县| 临桂县| 儋州市| 高邑县| 海原县| 临沧市| 澄城县| 翼城县| 山阴县| 寻甸| 兖州市| 巴塘县| 饶平县| 五莲县| 长岭县| 定陶县| 新田县| 北辰区| 饶河县| 措勤县| 兴业县| 石阡县| 保定市| 荆州市| 黄浦区| 敦煌市| 柳林县| 衡东县| 玉屏|