2016-07-27 50 views
2

我想用insde匿名表中的关键字从同一表内,像这样:使用表密钥

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

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

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

但是,它只是返回nil这是可能做到,以及如何?

回答

4

正如other answer说,你不能引用在正在建造的表中的关键字,但您可以使用一个变量来保存的值要引用数次:

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

不,你不能那样做。在您使用a时,表格尚未构建。 Lua中查找一个全局变量a,这就是为什么你nil

如果你想引用键在它们必须首先定义的表。

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