Lua 模拟+;=在卢阿,有可能吗?

Lua 模拟+;=在卢阿,有可能吗?,lua,operator-overloading,Lua,Operator Overloading,有人告诉过我运算符重载的问题,但我甚至不知道如何开始这样做。我试图做的是改变: table["key"]=table["key"]+12345 进入 或者甚至使用一个函数,那将是美妙的。我已经搜索过了,但找不到答案,所以我希望这里的人能告诉我消息来源,或者能直接回答这个问题。如果用正手的形式来做最终会是最短的方法,那么我想我会坚持下去。我只是尽可能多地保存击键,因为我有数百个地方可以实现这一点。谢谢 你想要这个 function increment(t,k,v) t[k]=t[k]+(v

有人告诉过我运算符重载的问题,但我甚至不知道如何开始这样做。我试图做的是改变:

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

或者甚至使用一个函数,那将是美妙的。我已经搜索过了,但找不到答案,所以我希望这里的人能告诉我消息来源,或者能直接回答这个问题。如果用正手的形式来做最终会是最短的方法,那么我想我会坚持下去。我只是尽可能多地保存击键,因为我有数百个地方可以实现这一点。谢谢

你想要这个

function increment(t,k,v)
   t[k]=t[k]+(v or 1)
end
按如下方式使用:

increment(table,"key",12345)
或者,如果你想增加1,简单地说

increment(table,"key")

请注意,您可以编写
table.key
而不是
table[“key”]
。通常,如果您想向变量Lua添加值,只需直接执行即可。e、 g.
var=var+value
。您可以使用自己的函数来完成此操作,但不会节省太多的键入时间。
increment(table,"key")