gpt4 book ai didi

lua - lua中表键周围的方括号有什么作用?

转载 作者:行者123 更新时间:2023-12-01 17:56:31 26 4
gpt4 key购买 nike

我发现表的键周围有方括号:

local commands_json =
{
["request"] = {
["application"] = PW_APPLICATION,
["push_token"] = deviceToken
}
}

方括号可以省略吗?

最佳答案

这只是在表中指定键的长形式。您可以在 [] 之间放置任何值(nil 和浮点 NaN 除外)。如果没有它们,您只能使用标识符。

例如:

tbl =
{
key name = 5,
}

这是一个编译错误,因为“键名”不是标识符(由于空格)。这有效:

tbl =
{
["key name"] = 5,
}

还有这个:

tbl =
{
"key name" = 5,
}

也是编译错误。如果 Lua 看到这样的裸值,它会认为您正在尝试添加到表的数组部分。也就是说,它混淆了:

tbl =
{
"key name",
}

这将创建一个 1 元素数组,其中 tbl[1] 等于 “键名称”。通过使用 [],编译器可以轻松判断您的意思是某个键而不是数组元素的值。

长格式还可以让您区分:

local name = "a name";

tbl =
{
["name"] = 5,
[name] = 7,
}

第二部分意味着计算表达式name,其结果将是键。所以这个表有键“name”和“a name”。

关于lua - lua中表键周围的方括号有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34687498/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com