它顯然是getmetatable可以訪問元表幾種類型。似乎沒有辦法訪問數字,布爾值或零的metatable。訪問類型元表的Lua
我還想知道是否有人能夠訪問整個表格類型的metatable。爲了能夠做這樣的事情:
({}) + ({})
它顯然是getmetatable可以訪問元表幾種類型。似乎沒有辦法訪問數字,布爾值或零的metatable。訪問類型元表的Lua
我還想知道是否有人能夠訪問整個表格類型的metatable。爲了能夠做這樣的事情:
({}) + ({})
數字,布爾值和零在默認情況下沒有metatable(因此getmetatable返回nil
)。雖然你可以給他們一個debug.setmetatable
。
沒有公共表metatable。 (和用戶數據相同(至少是重品種))
字符串,數字,零,功能和lightuserdata對整個類型的單個元表。表和完整的用戶數據每個實例都有一個metatable。
從文檔:
表和全用戶數據有 個別元表(雖然 多個表和用戶數據可以共享 自己的元表)。所有其他 類型的值每個 類型共享一個單獨的元表;也就是說,有一個單一的 元表的所有號碼,一個是所有 字符串,etc.strings等
有沒有「表型元表」,就像沒有「元表此字符串」
默認情況下,字符串類型具有「字符串」表作爲metatable;但您可以使用debug.setmetatable()
function.strings等設置其他類型的metatable。
謝謝。只是想知道這一點。 – Q2Ftb3k 2010-09-27 19:37:40