数组的大小:table.getn(),数字以非nil作为结束
- print(table.getn{10,2,4}) --> 3
- print(table.getn{10,2,nil}) --> 2
- print(table.getn{10,2,nil; n=3}) --> 3
- print(table.getn{n=1000}) --> 1000
- a = {}
- print(table.getn(a)) --> 0
- table.setn(a, 10000) --getn获取大小,setn设置大小
- print(table.getn(a)) --> 10000
- a = {n=10}
- print(table.getn(a)) --> 10
- table.setn(a, 10000)
- print(table.getn(a)) --> 10000
插入删除:table.insert()
- a = {}
- for line in io.lines() do
- table.insert(a, line) --插入
- end
- print(table.getn(a))
排序:table.sort
- lines = { --表
- luaH_set = 10,
- luaH_get = 24,
- luaH_present = 48,
- }
- function pairsByKeys (t, f) --排序函数,f(可选参数)
- local a = {}
- for n in pairs(t) do table.insert(a, n) end --插入到新表a
- table.sort(a, f) --排序a
- local i = 0
- local iter = function ()
- i = i + 1
- if a[i] == nil then return nil
- else return a[i], t[a[i]]
- end
- end
- return iter
- end
- for name, line in pairsByKeys(lines) do
- print(name, line)
- end