對於深度嵌套表格中的字段,例如text.title.1.font。即使您使用 if text.title.1.font then ... end
它會導致類似「試圖指數全球‘文本’(一個零值)」的錯誤,如果表中的任何水平實際上並不存在。當然,人們可能試圖檢查表中每一層的存在,但看起來相當麻煩。我想知道是否有一個安全和更漂亮的方式來處理這個問題,例如當引用這樣一個對象時,nil是值而不是觸發錯誤
當沒有鍵引用時,表有可能返回一個特定的值而不是自己的引用嗎? 比方說,我有如下表: local person = {
name = "Kapulani",
level = 100,
age = 30,
}
在Lua中,我可以很容易地提及「person.name」,「person.level」,或「person.age」而獲得的值如預期。但是,在某些情況下,我可能
例如: local my_table = { name = "my table" }
local my_table_mt = {}
function my_table_mt.__tostring(tbl)
return "%s<%s>":format(tbl.name or "?", rawtostring(tbl))
end
是這樣的可能嗎?我知道rawtostring方法