according to the manual:
A += 2 -- EQUIVALENT TO: A = A + 2 // note that the LHS appears twice, so for TBL[FN()]+=1, FN() will be called twice. |
ok, let's test it:
function fn() print("in function") return 1 end f={ 10 } print("f[1] is "..f[1]) f[fn()]+=1 print("f[1] is "..f[1]) |
the function fn is only called once!
Good catch! The warning is obsolete as of a couple of builds back, when @zep turned += from a macro into a proper assignment operator.
[Please log in to post a comment]