2012-02-19 1 views
0

나는 this page을 따라 갔고 메타 메서드 __mutate_asn을 얻었다. 이것은 내 테스트 코드입니다.루아 돌연변이 할당 패치는 어떻게 작동합니까?

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) 

출력 : "a"는 변경되지 않습니다.

+0

무엇을하려고합니까? 패치를 보면서 알기가 어렵습니다. – kikito

답변

0

당신은 당신이 전역 변수를 돌연변이 된 문

a:=b 

의 모든 번호를 돌연변이되지 않습니다. 그래서, 아마도 당신이 필요합니다 :

setmetatable(_G, mt)