在同一个(匿名)table 中使用 table 键
Use table key inside same (anonymous) table
我想在同一个 table 中使用匿名 table 的密钥,如下所示:
loadstring( [[return {
a = "One",
b = a.." two"
}]] )
在我看来,这个应该return以下table:
{ a = "One", b = "One two" }
然而,它只是 returns nil
。
这可以做到吗?怎么做?
不,你不能那样做。在您使用 a
时,尚未构建 table。 Lua 寻找一个全局变量 a
,这就是你得到 nil
的原因。
如果要引用 table 中的键,必须先定义它们。
local t = { a = 'One' }
t.b = t.a..' two'
正如 所说,您不能引用正在构造的 table 中的键,但您可以使用变量来保存要多次引用的值:
local a = "One"
local t = { a = a, b = a.." two" }
我想在同一个 table 中使用匿名 table 的密钥,如下所示:
loadstring( [[return {
a = "One",
b = a.." two"
}]] )
在我看来,这个应该return以下table:
{ a = "One", b = "One two" }
然而,它只是 returns nil
。
这可以做到吗?怎么做?
不,你不能那样做。在您使用 a
时,尚未构建 table。 Lua 寻找一个全局变量 a
,这就是你得到 nil
的原因。
如果要引用 table 中的键,必须先定义它们。
local t = { a = 'One' }
t.b = t.a..' two'
正如
local a = "One"
local t = { a = a, b = a.." two" }