Operadores Lua, porque não é + =, - = e assim por diante definido?
Esta é uma questão que eu tenho sido levemente irritada há algum tempo e nunca cheguei a procurar a resposta.
No entanto, pensei que poderia pelo menos fazer a pergunta e talvez alguém possa explicar.
Basicamente, muitas linguagens em que trabalhei utilizam o syntactic sugar para escrever (usando a sintaxe do C ++):
int main() {
int a = 2;
a += 3; // a=a+3
}
enquanto em lua o+=
não está definido, então eu teria que escrevera=a+3
, que novamente é tudo sobre o açúcar sintático. ao usar um nome de variável mais "significativo", como:bleed_damage_over_time
ou algo que começa a ficar tedioso para escrever:
bleed_damage_over_time = bleed_damage_over_time + added_bleed_damage_over_time
ao invés de:
bleed_damage_over_time += added_bleed_damage_over_time
Então, eu gostaria de saber não como resolver isso se você não tem uma boa solução, nesse caso eu estaria, naturalmente, interessado em ouvi-la; mas porque a lua não implementa este açúcar sintático?