Lua Table(表)学习笔记
什么是Lua Table(表)
Lua中的Table(表)是一种非常灵活的数据结构,类似于其他编程语言中的关联数组或字典。它可以存储键值对,键和值可以是不同类型的数据,包括数字、字符串和其他类型。
如何创建Lua表
使用Lua表时,您可以将其作为变量分配给一个表达式的结果,也可以使用构造函数创建新表。
以下是创建并初始化一个新的空表的语法:
luaCopy Codelocal myTable = {}
你可以在创建时初始化一个表:
luaCopy Codelocal myTable = {"apple", "banana", "orange"}
Lua表中的键和值
表使用键值对进行存储。 在Lua表中,键和值可以是不同类型的数据。
以下是向表添加新项和更新现有项的示例:
luaCopy Codelocal myTable = {}
myTable["name"] = "John"
myTable[1] = 20
myTable[2] = 30
此代码将“name”作为字符串键添加到表中,并将20和30作为数字键添加到表中。要访问表中的现有项目,请使用相应的键:
luaCopy Codeprint(myTable["name"]) -- 输出 "John"
print(myTable[1]) -- 输出 20
遍历Lua表
要遍历Lua表中的所有键和值,您可以使用pairs函数。 pairs函数返回表中的每个键和关联的值。 您可以使用此函数进行迭代,以访问表中的所有键和值:
luaCopy Codelocal myTable = {key1 = "value1", key2 = "value2", key3 = "value3"}
for key, value in pairs(myTable) do
print(key .. " : " .. value)
end
将输出以下内容:
Copy Codekey1 : value1
key2 : value2
key3 : value3
实例
下面是一个使用Lua表的示例。 employees
表包含员工的姓名、电话号码和工资。 我们正在使用pairs函数打印所有的雇员信息。
luaCopy Codelocal employees = {
{name="John", phone="123456789", salary=50000},
{name="Jane", phone="987654321", salary=60000},
{name="Bob", phone="555555555", salary=40000}
}
for index, employee in pairs(employees) do
print("Employee #" .. index)
print("Name: " .. employee.name)
print("Phone: " .. employee.phone)
print("Salary: " .. employee.salary)
end
输出:
Copy CodeEmployee #1
Name: John
Phone: 123456789
Salary: 50000
Employee #2
Name: Jane
Phone: 987654321
Salary: 60000
Employee #3
Name: Bob
Phone: 555555555
Salary: 40000