2

我想在同一个表中使用一个匿名表的密钥,如下所示:

loadstring( [[return {
  a = "One",
  b = a.." two"
}]] )

从我的角度来看,这应该返回下表:

{ a = "One", b = "One two" }

但是,它只是返回nil这可能吗,怎么做?

4

2 回答 2

4

正如另一个答案所说,您不能引用正在构建的表中的键,但您可以使用变量来保存您想要多次引用的值:

local a = "One"
local t = { a = a, b = a.." two" }
于 2016-07-27T21:26:16.003 回答
2

不,你不能那样做。在您使用a该表时,该表尚未构建。Lua 寻找一个全局变量a,这就是你得到nil.

如果要引用表中的键,则必须先定义它们。

local t = { a = 'One' }
t.b = t.a..' two'
于 2016-07-27T21:17:04.240 回答