2016-07-27 99 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'