创建表

创建一个空表就像这样简单:

local empty_table = {}

你还可以以简单数组的形式创建表:

local numeric_table = {
    "Eve", "Jim", "Peter"
}
-- numeric_table[1] is automatically "Eve", numeric_table[2] is "Jim", etc.

请记住,默认情况下,表索引从 1 开始。

也可以创建一个包含关联元素的表:

local conf_table = {
    hostname = "localhost",
    port     = 22,
    flags    = "-Wall -Wextra"
    clients  = {                -- nested table
        "Eve", "Jim", "Peter"
    }
}

上面的用法是下面的语法糖。此实例中的键是字符串类型。添加了上述语法以使表格显示为记录。这种记录式语法与使用字符串键索引表的语法并行,如基本用法教程中所示。

正如备注部分所述,记录样式语法不适用于每个可能的键。另外,键可以是任何类型的任何值,前面的示例仅涵盖字符串和序号。在其他情况下,你需要使用显式语法:

local unique_key = {}
local ops_table = {
    [unique_key] = "I'm unique!"
    ["^"]  = "power",
    [true] = true
}