2011-06-15 112 views
1

lua可以重寫對錶元素的訪問嗎? F.e.我有一個Lua表TBL = {A = 1,B = 2},我想在使用TBL.A時調用某個函數,而不是獲得真實的TBL.A值。覆蓋對Lua表元素的訪問

回答

3

您可以使用metatables捕獲對不存在的元素和其他幾個操作的訪問。但是,沒有辦法直接捕獲對現有元素的訪問,您應該在您的表上構建代理。

你可以檢查this proxy implementation,看看它是如何工作,並適應您的需求。

+0

哇! 這正是我想要的。 謝謝! – kolchanov 2011-06-15 12:04:40