Lua中模拟+=,是否可能?

有人告诉我可以重载运算符,但我不知道该如何开始。我试图将代码从这样:

table["key"]=table["key"]+12345

变成这样:

table["key"]+=12345

或者使用一个函数,那就太棒了。我已经搜索过,但却找不到答案,所以希望这里的某个人能指导我找到源或直接回答我的问题。如果最终使用冗长形式来实现是最短的方法,那么我就会坚持这样做。我只是想尽可能地节省按键次数,因为我有成百上千个地方会使用这个功能。谢谢!

原文链接 https://stackoverflow.com/questions/7855525

点赞
stackoverflow用户107090
stackoverflow用户107090

你需要这个吗?

function increment(t,k,v)
   t[k]=t[k]+(v or 1)
end

使用方法如下:

increment(table,"key",12345)

或者,如果你想增加 1,只需:

increment(table,"key")
2011-10-21 21:42:59