ActionScript에서 두 변수를 교체하려고합니다.AS3에서 변수 복제
난하여 시도 :
a = 42
b = 50
tempvar = a
a = b
b = tempvar
는 전환되지만 변수가 여전히 I는 B로 설정하면되도록 = A가 다음뿐만 아니라, B의 변경을 변경 원래 값을 참조하기 때문에이 작동하지 않는다 .
루비에서는 clone()을 사용하지만 AS3과 비슷한 방법을 알지 못합니다.
도움 말?
ActionScript에서 두 변수를 교체하려고합니다.AS3에서 변수 복제
난하여 시도 :
a = 42
b = 50
tempvar = a
a = b
b = tempvar
는 전환되지만 변수가 여전히 I는 B로 설정하면되도록 = A가 다음뿐만 아니라, B의 변경을 변경 원래 값을 참조하기 때문에이 작동하지 않는다 .
루비에서는 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);
어떻게 당신이 선언되어, B와 tempVar : 더욱 밀접하게 예를 다음과 다음과 같은 유형이 지정되지 않은 코드는 동일한 출력을 제공합니다? 타임 라인 코드입니까?
var tempvar:uint = new uint(a);
a = new uint(b);
b = tempvar;
이 작동하는 이유는 int와 같은 기본 유형을 사용하기 때문입니다. 배열과 같은 객체 유형은 참조를 사용하는 반면 기본 유형은 할당시 복사됩니다. – Soviut