推荐答案
在 Lua 中,可以通过以下方式创建 table:
-- -------------------- ---- ------- -- ----- ----- ----- ---------- - -- -- ------------ ----- ----- ------- - - ---- - --------- ---- - --------- ---- - -- - -- --------- ----- ----- ---------- - - -------- --------- -------- - -- --------- ----- ----- ---------- - - ---- - ------ ------- - ---- -------- - - -------------- ----------- ------------ - -
本题详细解读
1. 空 table 的创建
在 Lua 中,{}
表示一个空的 table。你可以通过 local emptyTable = {}
来创建一个空的 table,后续可以根据需要动态添加键值对。
2. 带有初始键值对的 table
你可以在创建 table 时直接指定键值对,例如:
local myTable = { key1 = "value1", key2 = "value2", key3 = 42 }
在这个例子中,myTable
是一个包含三个键值对的 table。
3. 数组形式的 table
Lua 中的 table 也可以用作数组。数组形式的 table 是通过整数索引来访问的,例如:
local arrayTable = { "apple", "banana", "cherry" }
在这个例子中,arrayTable[1]
的值是 "apple"
,arrayTable[2]
的值是 "banana"
,依此类推。
4. 混合形式的 table
Lua 的 table 是灵活的,可以同时包含键值对和数组元素。例如:
local mixedTable = { name = "Lua", version = 5.4, features = { "lightweight", "portable", "embeddable" } }
在这个例子中,mixedTable
包含了键值对(如 name
和 version
)以及一个数组形式的子 table(features
)。
5. 动态添加元素
你可以在 table 创建后动态添加元素,例如:
local myTable = {} myTable["newKey"] = "newValue" myTable[1] = "firstElement"
这种方式允许你在程序运行时根据需要扩展 table 的内容。
6. 访问 table 元素
你可以通过键或索引来访问 table 中的元素,例如:
print(myTable["key1"]) -- 输出: value1 print(arrayTable[2]) -- 输出: banana print(mixedTable.name) -- 输出: Lua
Lua 提供了多种方式来访问 table 中的元素,既可以使用方括号 []
,也可以使用点号 .
。