LUA table学习笔记
2016-12-31 11:45 撞破南墙 阅读(2855) 评论(0) 编辑 收藏 举报
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)
作者:撞破南墙
出处:http://www.cnblogs.com/facingwaller/
关于作者:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。