2014-11-22 97 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)