0

このページをたどり、メタメソッド __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)

出力: 1 2 1 "a" は変更されません。

4

1 に答える 1

0

ステートメント内の数値を変更していません

a:=b

グローバル変数を変更しています。したがって、おそらく次のものが必要です。

setmetatable(_G, mt)
于 2012-02-19T17:38:16.393 に答える