在同一(匿名)表中使用表键

时间:2016-07-27 20:52:58

标签: lua computercraft

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

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

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

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

然而,它只返回nil这可能吗,以及如何做?

2 个答案:

答案 0 :(得分:4)

正如other answer所说,你不能在正在构造的表中引用一个键,但你可以使用一个变量来保存你想多次引用的值:

local a = "One"
local t = { a = a, b = a.." two" }

答案 1 :(得分:2)

不,你不能这样做。在您使用a时,表尚未构建。 Lua查找全局变量a,这就是nil的原因。

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

local t = { a = 'One' }
t.b = t.a..' two'