LUA table學習筆記


 

function printT( ... )
     for i,v in ipairs(...) do
    print(i,v)
end
end


t1={}
t2={}
t3={}
table.insert(t1,"t1")
table.insert(t1,"t2")
table.insert(t1,1,"t3")
print "1 table.insert-----------"
--printT(t1)
print "2 table.concat-----------"
t4=table.concat( t1, ", ", 1, #t1)
--print (type(t4).."    "..t4)
print "3 table.move-----------"
--[[   http://www.2cto.com/kf/201602/489932.html
table.move (a1, f, e, t [,a2])
將表"a1"中從整數索引"f"到整數索引"e"之間(源區間)的元素
     復制到表"a2"中整數索引"t"及之后的位置(目標區間),
     表"a2"默認為"a1",目標區間與源區間可以重疊。
--]]
table.move(t1,1,2,1,t2)
--printT(t1)
print "-----------"
--printT(t2)
print "4 table.pack-----------"
--[[ table.pack(···)
     創建一個"table",並將參數作為元素以整數索引(1, 2, ...)插入"table"中。
     並將"n"這個域存儲參數的總個數,返回所創建的"table"。]]
t4=table.pack(1,3,5)
printT(t4)

--[[ table.remove (list [, pos])
移除 list 中 pos 位置上的元素,並返回這個被移除的值。 當 pos 是在 1 
到 #list 之間的整數時, 它向前移動元素 list[pos+1], list[pos+2], ···, list[#list]
 並刪除元素 list[#list]; 索引 pos 可以是 #list + 1 ,或在 #list 為 0 時可以是 0 ;
  在這些情況下,函數刪除元素 list[pos]。
pos 默認為 #list, 因此調用 table.remove(l) 將移除表 l 的最后一個元素。

]]
print "-----------"
table.remove(t4,1)
printT(t4)
print "5 table.pack-----------"
--[[
table.sort (list [, comp])

在表內從 list[1] 到 list[#list] 原地 對其間元素按指定次序排序。 如果提供了 comp ,
 它必須是一個可以接收兩個列表內元素為參數的函數。 
 當第一個元素需要排在第二個元素之前時,返回真 (因此 not comp(list[i+1],list[i]) 在排序結束后將為真)。
  如果沒有提供 comp, 將使用標准 Lua 操作 < 作為替代品。
排序算法並不穩定; 即當兩個元素次序相等時,它們在排序后的相對位置可能會改變。

使用函數"comp"排序表"list"中的元素。
     "comp"接收兩個列表內元素作為參數,
     當第一個元素需要排在第二個元素之前時,返回"true",否則返回"false"。
     如果沒有提供"comp",默認使用"<"(小於 操作符)比對元素。
]]
table.sort(t4,function (x1,x2 )
    return x1>x2
end)
printT(t4)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM