Lua 表构造器中的包含空格的键

我知道可以像这样构造表格:

local t= {
    first = "value1",
    second = "value2"
}

而且我知道可以使用包含空格的键,如 t["some key"] = "some value" 但是是否有一种方法可以构造像上面那样的包含空格的键的表格呢? 我尝试了几件事,但我只得到了错误

原文链接 https://stackoverflow.com/questions/70338650

点赞
stackoverflow用户3574628
stackoverflow用户3574628

你可以将任何表达式声明为表构造函数中的键,只需将其放入方括号中:

local t = {
  ["some key"] = "some value",
  [234567 + 2] = "other value",
}
2021-12-13 17:48:38
stackoverflow用户2858170
stackoverflow用户2858170

以下是中文翻译并保留 markdown 格式:

local t= {
    first = "value1",
    second = "value2"
}

这是语法糖,相当于

local t= {
    ["first"] = "value1",
    ["second"] = "value2"
}

这种方便的语法只适用于名称。 Lua 名称只能由字母、数字和下划线组成,且不能以数字开头。

由于有效的 Lua 标识符不能包含空格,因此无法使用此语法糖。因此,唯一的方法是使用完整的语法

local t = {["hello world"] = 1}

这也适用于对表字段进行索引。因此唯一的方式是 t["hello world"]

2021-12-13 19:04:53