ActionScriptで2つの変数を交換しようとしています。AS3で変数を複製する
私が使用してみました:
a = 42
b = 50
tempvar = a
a = b
b = tempvar
を切り替えることが、私はBを設定した場合に変数は依然として、元の値を参照するので、これは動作しない=、次いで同様に、Bの変更を変更します。
rubyではclone()がありますが、AS3と同様の方法はわかりません。
ヘルプ?
ActionScriptで2つの変数を交換しようとしています。AS3で変数を複製する
私が使用してみました:
a = 42
b = 50
tempvar = a
a = b
b = tempvar
を切り替えることが、私はBを設定した場合に変数は依然として、元の値を参照するので、これは動作しない=、次いで同様に、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);
がどのように宣言され、BおよびtempVar:でも、より密接にあなたの例を次の次型指定されていないコードは、同じ出力を与えますか?このタイムラインコードですか?
var tempvar:uint = new uint(a);
a = new uint(b);
b = tempvar;
これは、intのようなプリミティブ型を使用しているためです。配列のようなオブジェクト型は参照を使いますが、プリミティブ型は代入時にコピーされます。 – Soviut