修正は簡単で費用もかからないため、これは実際には問題ではありません。私はそれが何かの特性であるfor
かuint
、私が理解していないことを推測していて、何が起こっているのか知りたいだけです...
for
ActionScript 3 を使用して、 a の要素を逆方向に実行するループを設定しましたVector
。
var limit:uint = myVector.length-1;
for(var a:uint = limit; a >= 0; a--)
{
trace(a);
}
これを実行すると、期待どおりに出力2, 1, 0
されますが、次に進み4294967295
、そこからカウントダウンを開始し、ループがタイムアウトしてError #1502
.
修正は単にa
asint
ではなく入力するuint
ことですが、理由がわかりません。確かに私は 0 以上の値を扱っているのでuint
、正しいデータ型は正しいですか?
4294967295
それが最大値だと思いuint
ますが、カウントはどのようにそこに到達しますか?
もしあなたがそうするなら
var myUint:uint = 0;
trace(myUint - 1);
次に、出力は-1
なぜ、私のループで突然ジャンプして戻る必要があるの4294967295
ですか?
少しとりとめのない質問で申し訳ありませんが、何か助けていただければ幸いです。