2014-11-22 165 views

回答

2

沒有,但你可以保存在元素的參考表本身:

tbl = {} 
tbl.Italy = {"Roma", tbl} 
print(tbl == tbl.Italy[2]) 

打印true

0

你不能做你想要的屬性(表中的字段)做什麼,但你可以用方法做到這一點:

function tbl.getItaly(self) 
    return self.Italy 
end 

然後tbl:getItaly()返回TBL的意大利;在方法中,self由Lua解釋器隱式給出,並表示包含被調用方法的表。請注意,您需要使用冒號而不是點語法。

0

關鍵是除nil以外的任何值。在這種情況下,您有一個string值:「意大利」。 「父母」或「所有者」的一般概念沒有任何價值。儘管如此,如果需要,您可以創建適用該概念的結構。

local capitals = {} 
capitals.Italy = { capital = "Roma", collection = capitals } 
capitals["Czech Republic"] = { capital = "Prague", collection = capitals } 

local playwrights = {} 
playwrights["William Shakespeare"] = { born = 1564, died = 1616, collection = playwrights } 


local fact = capitals.Italy 
print(fact.collection == capitals)