Дублируйте переменную в AS3
-
05-07-2019 - |
Вопрос
Я пытаюсь поменять местами две переменные в ActionScript.
Я пробовал использовать:
a = 42
b = 50
tempvar = a
a = b
b = tempvar
переключаться, но это не работает, потому что переменные по-прежнему ссылаются на исходное значение, поэтому, если я устанавливаю b = a, а затем изменяю a, b также изменяется.
в ruby у вас есть clone() , но я не знаю аналогичного метода для AS3.
Помочь?
Решение
Следующее работает нормально.Наверняка вы показали не весь свой код?
import flash.display.Sprite;
public class SwapTest extends Sprite
{
public function SwapTest()
{
var a:int=42;
var b:int=50;
var temp:int=a;
a=b;
b=temp;
trace("a="+a);
trace("b="+b);
}
}
Следы
a=50 b=42
Клонирование не требуется.Даже следующий нетипизированный код, который более точно следует вашему примеру, выдает тот же результат:
var a=42;
var b=50;
var temp=a;
a=b;
b=temp;
trace("a="+a);
trace("b="+b);
Как вы объявляете a, b и tempVar?Является ли это кодом временной шкалы?
Другие советы
var tempvar:uint = new uint(a);
a = new uint(b);
b = tempvar;
Не связан с StackOverflow