Operatory Lua, dlaczego nie ma + =, - = i tak dalej?
Jest to pytanie, na które przez pewien czas byłem lekko zirytowany i nigdy nie udało mi się znaleźć odpowiedzi na to pytanie.
Pomyślałem jednak, że przynajmniej zadaję pytanie, a może ktoś może to wyjaśnić.
Zasadniczo wiele języków, w których pracowałem, wykorzystuje cukier syntaktyczny do pisania (przy użyciu składni z C ++):
int main() {
int a = 2;
a += 3; // a=a+3
}
podczas gdy w lua the+=
nie jest zdefiniowany, więc musiałbym napisaća=a+3
, co znów dotyczy cukru syntaktycznego. gdy używa się bardziej „znaczącej” nazwy zmiennej, takiej jak:bleed_damage_over_time
lub coś, co zaczyna się żmudnie pisać:
bleed_damage_over_time = bleed_damage_over_time + added_bleed_damage_over_time
zamiast:
bleed_damage_over_time += added_bleed_damage_over_time
Chciałbym więc nie wiedzieć, jak to rozwiązać, jeśli nie masz dobrego rozwiązania, w takim przypadku byłbym oczywiście zainteresowany jego wysłuchaniem; ale raczej dlaczego lua nie implementuje tego syntaktycznego cukru.