lua 数组与表的异同
在lua中,table是唯一的数据结构,通过表我们可以实现大部分的重要的数据结构,比如树,字典,当然,lua是没有表的,但是可以用表实现数组。
表
table不是值或者变量,而是对象。
table是不固定大小的,你可以根据自己需要进行扩容。
-- 初始化表
mytable = {}
-- 指定值
mytable[1]= "Lua"
-- 移除引用
mytable = nil
-- lua 垃圾回收会释放内存
当我们为 table a 设置元素,然后将 a 赋值给 b,则 a 与 b 都指向同一个内存。如果 a 设置为 nil ,则 b 同样能访问 table 的元素。如果没有指定的变量指向a,Lua的垃圾回收机制会清理相对应的内存。
table排序
fruits = {
"banana","orange","apple","grapes"}
print("排序前")
for k,v in ipairs(fruits) do
print(k,v)
end
table.sort(fruits)
print("排序后"