我想在同一个表中使用一个密钥来保存一个匿名表,如下所示:
loadstring( [[return {
a = "One",
b = a.." two"
}]] )
从我的角度来看,这个应该返回下表:
{ a = "One", b = "One two" }
然而,它只返回nil
。
这可能吗,以及如何做?
答案 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'