目录
lua table表
表的构造
Table的使用
table.concat()
table.insert()与table.remove()
table.sort()
table.maxn()
本文章为笔者学习分享
学习网站:Lua 基本语法 | 菜鸟教程
lua table表
table:是lua的一种数据结构,用来帮助我们创建不同的数据类型,如数组、字典等。
lua table使用关联型数组,可以用除nil以外任意类型的值当作数组的索引
lua table是不固定按大小,可以根据自己需要进行扩容
lua也是通过table来解决模块(module)、包(package)和对象(Object)的。例如string.format表示使用"format"来索引table string
表的构造
构造器是创建和初始化表的表达式。
表是lua特有的功能强大的东西。
最简单的构造函数是{},用来创建一个空表
可以直接初始化数组
--初始化数组
mytable={}
--赋值初始化
mytable[1]="Lua"
--移除引用
mytable = nil
Table的使用
先列出所有的方法,具体的实例操作在后面:
table.concat()
用于table的连接
可以用concat()输出一个列表中元素连成的字符串
可以指定连接字符的形式以及指定连接的位置
arr={"A","B","C"}
print(table.concat(arr)) --ABC
print(table.concat(arr),",") --A,B,C
print(table.concat(arr),",",2,3) --B,C
table.insert()与table.remove()
table.insert() 插入 默认从最后一个位置开始插入
table.remove() 删除 默认从最后一个位置开始删除
arr={"A","B","C"}
table.concat(arr,"D") --arr={A,B,C,D}
table.concat(arr,2,"D") --arr={A,D,B,C,D}
table.remove(arr) --A,D,B,C,nil 默认从最后一个位置删起
table.sort()
字母从左到右A-Z升序排序,不是按照字符串的长度排序
arr={"B","A","D","C"}
table.sort(arr)
for k,v in ipair(arr) do
print(k,v)
end
--[[运行结果
1 A
2 B
3 C
4 D
--]]
table.maxn()
注意:
当我们获取 table 的长度的时候无论是使用 # 还是 table.getn 其都会在索引中断的地方停止计数,而导致无法正确取得 table 的长度。
可以使用以下方法来代替: