lua-users home
lua-l archive

Re: +=

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


>Anyone considered adding a += (and -=, /=. *=) operator to lua?
Yes, I think this has been discussed before.
>I notice I have a lot of code that does stuff like:
>
>self.x = self.x + dx
>
>I'm guessing that:
>
>self.x += dx 
>
>could be compiled to something with fewer table look-ups and instructions(?)
I doubt it, because of the possibility of tag methods coming into action.
Right now, the bytecode for "self.x = self.x + dx" is
 GETGLOBAL 0 ; self
 PUSHSTRING 1 ; "x"
 GETGLOBAL 0 ; self
 GETDOTTED 1 ; x
 GETGLOBAL 2 ; dx
 ADD
 SETTABLE 3 3
 END
Except for the two GETGLOBAL for self, I don't see how this can be shortened.
--lhf

AltStyle によって変換されたページ (->オリジナル) /