Lua基础:Table库

数组的大小:table.getn(),数字以非nil作为结束

  1. print(table.getn{10,2,4})         --> 3 
  2. print(table.getn{10,2,nil})        --> 2 
  3. print(table.getn{10,2,nil; n=3})        --> 3 
  4. print(table.getn{n=1000})        --> 1000 
  5. a = {} 
  6. print(table.getn(a))         --> 0 
  7. table.setn(a, 10000)     --getn获取大小,setn设置大小
  8. print(table.getn(a))         --> 10000 
  9. a = {n=10} 
  10. print(table.getn(a))         --> 10 
  11. table.setn(a, 10000) 
  12. print(table.getn(a))       --> 10000 

插入删除:table.insert()

  1. a = {} 
  2.  
  3. for line in io.lines() do
  4.  table.insert(a, line)    --插入
  5. end 
  6.  
  7. print(table.getn(a)) 

排序:table.sort

  1. lines = {               --表
  2.  luaH_set = 10,
  3.  luaH_get = 24,
  4.  luaH_present = 48,
  5. }
  6.  
  7. function pairsByKeys (t, f)  --排序函数,f(可选参数)
  8.     local a = {}
  9.     for n in pairs(t) do table.insert(a, n) end  --插入到新表a
  10.     table.sort(a, f)          --排序a
  11.     local i = 0
  12.     local iter = function ()
  13.         i = i + 1
  14.         if a[i] == nil then return nil
  15.         else return a[i], t[a[i]]
  16.         end
  17.     end
  18.     return iter
  19. end
  20.  
  21. for name, line in pairsByKeys(lines) do
  22.     print(name, line)
  23. end
     

猜你喜欢

转载自blog.csdn.net/QQhelphelp/article/details/88112366