Подтвердить что ты не робот

Имитировать + = в Lua, возможно ли это?

Кто-то сказал мне о перегрузке операторов, но я даже не знаю, как я начну это делать. Я пытаюсь сделать это:

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

в

table["key"]+=12345

Или даже используя функцию, это было бы замечательно. Я искал, но не могу найти ответ, поэтому я надеюсь, что кто-то здесь может направить меня к источнику или сможет напрямую ответить на вопрос. Если сделать длинную форму, это, в конечном счете, будет самым коротким способом сделать это, тогда я полагаю, что я буду придерживаться этого. Я просто пытаюсь сохранить как можно больше нажатий клавиш, так как у меня есть сотни мест, где это будет реализовано. Спасибо!

4b9b3361

Ответ 1

Вы хотите это?

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

Используйте его следующим образом:

increment(table,"key",12345)

или, если вы хотите увеличить на 1, просто как

increment(table,"key")