首页 > 代码库 > LUA table学习笔记

LUA table学习笔记

 

function printT( ... )     for i,v in ipairs(...) do    print(i,v)endendt1={}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.htmltable.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>x2end)printT(t4)

 

LUA table学习笔记