What about:
...
swap(this, "a", "b");
...
private function swap(o: *, propnameA: String, propnameB: String) :
void {
// pseudocode for the swap
temp = o[propnameA];
o[propnameA] = o[propnameB];
o[propnameB] = temp;
}
I guess it might depend on access to the variables within the object,
but shouldn't that always work for o == this?
Doug
--- In [email protected], "Gordon Smith" <[EMAIL PROTECTED]> wrote:
>
> AS3 does not have references to ints. ints re always passed by
value, so
> you cannot write a method like swap(a, b) to swap them. Just use a
temp
> var.
>
> - Gordon
>
> ________________________________
>
> From: [email protected]
[mailto:[EMAIL PROTECTED] On
> Behalf Of Reid Priedhorsky
> Sent: Thursday, August 30, 2007 9:41 AM
> To: [email protected]
> Subject: [flexcoders] Re: swap two variables without temporary
variable
>
>
>
> carlos m wrote:
> > Hey Reid,
> >
> > Don't think there is a built-in function that will do that for
> > you--not that I am aware of anyway--but there is definitely a way
of
> > implementing it! Check out this blog post by the awesome guys at
> > polygonal:
> > http://lab.polygonal.de/2007/05/10/bitwise-gems-fast-integer-math/
> <http://lab.polygonal.de/2007/05/10/bitwise-gems-fast-integer-
math/> .
> > Specifically, check out the section labeled "Swap integers without
> > temporary variables using XOR."
> >
> > Lot's of goodies on that blog!
> >
> > Cliffnotes:
> > var t:int = a;
> > a = b;
> > b = t;
> >
> > //equals:
> > a ^= b;
> > b ^= a;
> > a ^= b;HTH!
>
> Hi Carlos,
>
> Thanks for the note -- I suppose I should have been more clear. I
meant,
>
> how to swap two variables in one line: it's not about speed but
rather
> clarity. :)
>
> Reid
>