1. 程式人生 > >lua陣列表格處理(table庫用法)

lua陣列表格處理(table庫用法)

原文地址http://www.freecls.com/a/2712/10

table庫由一些基本函式組成來以陣列的形式(也就是隻能處理數字下標的元素)處理表格包括插入移除排序連線所有元素為字串

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

插入資料,pos為插入的位置,省略pos預設從表格最後插入

例子

local res,t
t = {'freecls'}

--{'freecls','com'}
table.insert(t,'com')

--{'www','freecls','com'}
table.insert(t,1,'www')

table.remove (table [, pos])

從pos處移除資料,預設移除最後一個

例子

local res,t

t = {'111','www','freecls','com','222',name='freecls'}

--{'111','www','freecls','com',name='freecls'}
table.remove(t)

--{'www','freecls','com',name='freecls'}
table.remove(t,1)

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

把陣列連線成字串連線符為sep(預設為空字元)

例子

local res,t,s

t = {'www','freecls','com'}

--wwwfreeclscom
local s = table.concat(t)

--www.freecls.com
local s = table.concat(t,'.')

table.sort (table [, comp])

陣列排序,comp為可選回撥函式,預設用<比較

例子

local res,t,s

local t = {33,1,10,2,22}

--{1,2,10,22,33}
table.sort(t)


--排序複雜資料
t = {}
table.insert(t,{s='www',num=22})
table.insert(t,{s='freecls',num=24})
table.insert(t,{s='com',num=10})

function cmp(t1,t2)
    if t1.num <= t2.num then
        return true
    else
        return false
    end
end

--{{s='com',num=10},{s='www',num=22},{s='freecls',num=24}}
table.sort(t,cmp)

總結 

1.本文只是對table庫做簡單的介紹,如果有疑問可以給我留言
2.lua的版本為5.1,執行環境centos7 64位
3.原文地址http://www.freecls.com/a/2712/10