Lua 从键检索表
有没有办法从键本身检索键所属的表?例如Lua 从键检索表,lua,lua-table,Lua,Lua Table,有没有办法从键本身检索键所属的表?例如 tbl { Italy = "Roma" } 我可以从意大利返回tbl吗?否,但您可以将对表本身的引用保存在元素中: tbl = {} tbl.Italy = {"Roma", tbl} print(tbl == tbl.Italy[2]) 打印true您不能对属性(表字段)执行您想要执行的操作,但可以使用以下方法执行: function tbl.getItaly(self) return self.Italy end 然后tbl:getI
tbl { Italy = "Roma" }
我可以从意大利返回tbl吗?否,但您可以将对表本身的引用保存在元素中:
tbl = {}
tbl.Italy = {"Roma", tbl}
print(tbl == tbl.Italy[2])
打印
true
您不能对属性(表字段)执行您想要执行的操作,但可以使用以下方法执行:
function tbl.getItaly(self)
return self.Italy
end
然后
tbl:getItality()
返回tbl的意大利;在方法中,self
由Lua解释器隐式给出,表示包含被调用方法的表。请注意,您需要使用冒号而不是点语法。键是除nil
以外的任何值。在本例中,您有一个字符串值:“意大利”。没有任何值具有“父对象”或“所有者”的一般概念。尽管如此,如果需要,您可以创建应用该概念的结构
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)