Dve spremenljivki lahko hkrati inicializirate na isto vrednost, nekako:
var foo, bar; foo = bar = 10;
Vendar ni podobno enostavnega mehanizma za dodajanje, recimo, 5 obema foo
in bar
hkrati. Seveda je dovolj preprosto:
foo += 5; // foo is now 15 bar += 5; // bar is now 15
Ampak to sta dve operaciji.
Trik je:
foo += -bar + (bar += 5); // foo and bar are now 15
Verjetno tega ne boste nikoli potrebovali, zanimivo je vedeti, da je to mogoče.
Zahvaljujemo se Matheusu Avellarju, ker je poslal ta majhen trik, ki pojasnjuje:
-bar
Dobi razčleniti in postane negativno vrednostbar
, zato -10. Natoa += 5
zažene in nastavibar
na 15 (10 + 5). Na koncu sešteje obe vrednosti (-10 + 15) in vam da razliko med starimbar
in novimbar
, kar je 15.