Lua table庫整理(v5.1)

這個庫提供了表處理的通用函數(shù)。 所有函數(shù)都放在表 table霉涨。
無論何時按价,若一個操作需要取表的長度, 這張表必須是一個真序列笙瑟。

table.concat(list, [, sep, [, i , [, j]]])

提供一個列表楼镐,其所有元素都是字符串或數(shù)字,返回字符串 list[i]..sep..list[i+1] ··· sep..list[j]逮走。 sep 的默認值是空串鸠蚪, i 的默認值是 1 今阳, j 的默認值是 #list 师溅。 如果 i 比 j 大茅信,返回空串。
sep為元素之間的間隔符

local testTab = {1,2,3,4,5,6,7}
print(table.concat(testTab))
print (table.concat(testTab, "*", 1,3))

Output:
1234567
1*2*3

table.insert(table, [pos,] , value)

在 list 的位置 pos 處插入元素 value 墓臭, 并后移元素 list[pos], list[pos+1], ···, list[#list] 蘸鲸。 pos 的默認值為 #list+1 , 因此調用 table.insert(t,x) 會將 x 插在列表 t 的末尾窿锉。

function printTable(tab)
    local output = ""
    for i,v in ipairs(tab) do
        output = output..v.."  "
    end
    print(output)
end
local testTab = {1,2,3,4}
table.insert(testTab, 5)
printTable(testTab)
table.insert(testTab,2,10)
printTable(testTab)
table.insert(testTab, 8, 1)
printTable(testTab)

Output:
1  2  3  4  5
1  10  2  3  4  5
1  10  2  3  4  5

table.maxn(table)

函數(shù)返回指定table中所有正數(shù)key值中最大的key值. 如果不存在key值為正數(shù)的元素, 則返回0酌摇。 此函數(shù)不限于table的數(shù)組部分

local tab = {1,2,3,4}
tab[100] = 2
print(table.maxn(tab))
tab[192.1] = 10
print(table.maxn(tab))
print(#tab)

Output:
100
192.1
4

** lua 5.3中被移除 **


table.remove(table [, pos])

移除 list 中 pos 位置上的元素,并返回這個被移除的值嗡载。 當 pos 是在 1 到 #list 之間的整數(shù)時窑多, 它向前移動元素 list[pos+1], list[pos+2], ···, list[#list] 并刪除元素 list[#list]; 索引 pos 可以是 #list + 1 洼滚,或在#list 為 0 時可以是 0 埂息; 在這些情況下,函數(shù)刪除元素 list[pos]遥巴。

pos 默認為 #list千康, 因此調用 table.remove(l) 將移除表 l 的最后一個元素。

function printTable(tab)
    local output = ""
    for i,v in ipairs(tab) do
        output = output..v.."  "
    end
    print(output)
end
local tab = {1,2,3,4,5,6,7}

print(table.remove(tab))
printTable(tab)

print(table.remove(tab,2))
printTable(tab)

Output:
7
1  2  3  4  5  6
2
1  3  4  5  6

table.sort(table, [, comp])

在表內從 list[1] 到 list[#list] 原地 對其間元素按指定次序排序铲掐。 如果提供了 comp 拾弃, 它必須是一個可以接收兩個列表內元素為參數(shù)的函數(shù)。 當?shù)谝粋€元素需要排在第二個元素之前時摆霉,返回真 (因此 not comp(list[i+1],list[i]) 在排序結束后將為真)豪椿。 如果沒有提供 comp, 將使用標準 Lua 操作 < 作為替代品携栋。

排序算法并不穩(wěn)定搭盾; 即當兩個元素次序相等時,它們在排序后的相對位置可能會改變刻两。

function printTable(tab)
    local output = ""
    for i,v in ipairs(tab) do
        output = output..v.."  "
    end
    print(output)
end
local tab = {1,6,7,4,3,9}
table.sort(tab)
printTable(tab)

table.sort(tab, function(a,b) return a > b end)
printTable(tab)

Output:
1  3  4  6  7  9
9  7  6  4  3  1

參考鏈接:http://cloudwu.github.io/lua53doc/manual.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末增蹭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子磅摹,更是在濱河造成了極大的恐慌滋迈,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件户誓,死亡現(xiàn)場離奇詭異饼灿,居然都是意外死亡,警方通過查閱死者的電腦和手機帝美,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門碍彭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事庇忌∥韫浚” “怎么了?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵皆疹,是天一觀的道長疏橄。 經常有香客問我,道長略就,這世上最難降的妖魔是什么捎迫? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮表牢,結果婚禮上窄绒,老公的妹妹穿的比我還像新娘。我一直安慰自己崔兴,他們只是感情好彰导,可當我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著恼布,像睡著了一般螺戳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上折汞,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天倔幼,我揣著相機與錄音,去河邊找鬼爽待。 笑死损同,一個胖子當著我的面吹牛,可吹牛的內容都是我干的鸟款。 我是一名探鬼主播膏燃,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼何什!你這毒婦竟也來了组哩?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤处渣,失蹤者是張志新(化名)和其女友劉穎伶贰,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體罐栈,經...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡黍衙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了荠诬。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片琅翻。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡位仁,死狀恐怖,靈堂內的尸體忽然破棺而出方椎,到底是詐尸還是另有隱情聂抢,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布辩尊,位于F島的核電站涛浙,受9級特大地震影響康辑,放射性物質發(fā)生泄漏摄欲。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一疮薇、第九天 我趴在偏房一處隱蔽的房頂上張望胸墙。 院中可真熱鬧,春花似錦按咒、人聲如沸迟隅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽智袭。三九已至,卻和暖如春掠抬,著一層夾襖步出監(jiān)牢的瞬間吼野,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工两波, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瞳步,地道東北人。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓腰奋,卻偏偏與公主長得像单起,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子劣坊,可洞房花燭夜當晚...
    茶點故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內容