hand
_1_34_18
4
返回栏目
1k
2k
1k
2k
1k
1k
2k
2k
2k
2k
2k
2k
3k
3k
2k
2k
2k
1k
2k
2k
2k
2k
2k
2k
2k
2k
1k
1k
1k
2k
1k
1k
2k
1k
2k
2k
2k
2k
2k
2k
2k
1k
2k
2k
2k
2k
2k
3k
2k
2k
6k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
3k
2k
2k
2k
2k
2k
3k
3k
3k
1k
3k
3k
5k
2k
2k
2k
1k
1k
2k
2k
1k
1k
1k
2k
2k
2k
2k
2k
2k
2k
2k
3k
2k
2k
2k
2k
3k
3k
2k
2k
2k
2k
4k
2k
3k
2k
3k
2k
3k
2k
3k
2k
2k
2k
3k
返回Lua栏目
作者:
贺及楼
成为作者
更新日期:2025-02-27 21:42:00
在 Lua 里,表(table)是一种极为强大且关键的数据结构。它能用来表示数组、字典、集合等多种数据类型,几乎可以说是 Lua 实现其他复杂数据结构和功能的基础。本文会着重探讨 Lua 中表的创建以及如何初始化表结构。
Lua 中的表实际上是一种关联数组,这意味着它可以使用任何类型的值(除了 nil
)作为键,任何类型的值(包括 nil
)作为值。表是动态的,可以在运行时随意添加、删除和修改元素。
创建一个空表非常简单,只需要使用一对空的花括号 {}
即可。示例代码如下:
-- 创建一个空表
local emptyTable = {}
print(type(emptyTable)) -- 输出: table
在上述代码中,emptyTable
就是一个空表,通过 type
函数可以验证它的类型为 table
。
数组式初始化是指使用连续的整数作为键来初始化表,键从 1 开始递增。示例代码如下:
-- 数组式初始化
local arrayTable = {10, 20, 30, 40}
for i = 1, #arrayTable do
print(arrayTable[i])
end
在这个例子中,arrayTable
是一个数组式的表,它包含了四个元素。#
符号用于获取表的长度,通过 for
循环可以遍历表中的元素。
字典式初始化允许使用任意类型的值作为键。示例代码如下:
-- 字典式初始化
local dictTable = {
name = "John",
age = 25,
["job"] = "Engineer"
}
print(dictTable.name) -- 输出: John
print(dictTable["age"]) -- 输出: 25
在这个例子中,dictTable
是一个字典式的表,使用字符串作为键来存储不同类型的值。可以使用点号(.
)或者方括号([]
)来访问表中的元素。
表的初始化也可以是数组式和字典式的混合。示例代码如下:
-- 混合式初始化
local mixedTable = {
"apple", "banana", -- 数组式部分
color = "red", size = "medium" -- 字典式部分
}
print(mixedTable[1]) -- 输出: apple
print(mixedTable.color) -- 输出: red
在这个例子中,mixedTable
既有数组式的元素,也有字典式的元素。
可以使用构造器来动态初始化表。示例代码如下:
-- 使用构造器初始化
local constructorTable = {}
for i = 1, 5 do
constructorTable[i] = i * 2
end
for k, v in pairs(constructorTable) do
print(k, v)
end
在这个例子中,通过 for
循环动态地向表中添加元素。
初始化方式 | 特点 | 示例 |
---|---|---|
数组式初始化 | 使用连续整数作为键,键从 1 开始递增 | {10, 20, 30} |
字典式初始化 | 可以使用任意类型的值作为键 | {name = "John", age = 25} |
混合式初始化 | 结合了数组式和字典式的初始化方式 | {"apple", color = "red"} |
使用构造器初始化 | 动态地向表中添加元素 | local t = {}; for i = 1, 3 do t[i] = i end |
通过以上几种方式,我们可以根据不同的需求灵活地创建和初始化 Lua 中的表。表的强大功能和灵活性使得 Lua 在处理各种数据和实现复杂逻辑时都非常得心应手。希望本文能帮助你更好地理解 Lua 中表的创建和初始化。
Lua
整章节共127节
快分享给你的小伙伴吧 ~