在 Lua 中,表(Tables)是唯⼀可⽤的数据结构,可帮助我们创建不同类型
的数组和字典。Lua 使⽤关联数组,不仅可以⽤数字索引,还可以⽤⾮ nil 的
字符串索引。表⼤⼩不固定,可以根据需要动态增⻓。
Lua 在所有的表示中都使⽤表,包括⽤表表示包。当访问 string.format ⽅法
时,实际上是在访问字符串包中的 format 函数。
表被称为对象,它们既不是值也不是变量。Lua 使⽤构造表达式 {} 来创建空
表。需要知道的是,变量持有表的引⽤与表本身之间没有固定的关系。
--
示例表的初始化
mytable = {}
--
简单的表值赋值
mytable[1] = "Lua"
--
移除引⽤
mytable = nil
-- Lua
的垃圾回收机制会释放内存
当表 a 具有⼀组元素并将其赋值给 b 时, a 和 b 都引⽤相同的内存。对
b 不会单独分配内存。当 a 被设置为 nil 时,表仍然可以被 b 访问。当没
有引⽤指向表时,Lua 的垃圾回收机制会清理这些没有引⽤的内存,以便再次
使⽤。
-- Simple empty table
mytable = {}
print(”Type of mytable is “,type(mytable))
2024/4/9 21:11
⻚码 1/5