2012-02-19 32 views
0

我跟着this page,得到了一个metamethod __mutate_asn。这是我的测试代码。Lua mutate assignment patch如何工作?

local mt = {} 
mt.__mutate_asn = function(a, b) 
    print(a, b) 
    return a + b 
end 

debug.setmetatable(0, mt) 

a = 1 
b = 2 
a:=b 

print(a) 

输出: “一” 永远不会改变。

+0

你想做什么?通过查看补丁很难知道。 – kikito 2012-02-19 17:09:06

回答

0

你是不是在你的变异全局变量的声明

a:=b 

变异的任何数字。所以,也许你需要:

setmetatable(_G, mt)