私はロジックの非常にシンプルな作品を持っている:はAS:文が間違って評価する場合は、次のように
var divert:Number = 0;
for (var connection in _connections) {
trace("target: " + _connections[connection].target + " || i: " + (i + 1));
if(int(_connections[connection].target) != (i + 1)) {
trace("bad connection");
divert++;
}
}
問題は文がtrue
を返している場合i + 1
とint(_connections[connection].target)
が等しいインクルードしているときの出力に見られるようにということですtrace()
以下の文章:
target: 0 || i: 1
bad connection
target: 1 || i: 1
bad connection
これが起こる原因は誰にも分かりますか?
EDIT:これは要求に従ってに含まれている機能:すべての
public function loadListener(i:Number, onProgress:Function, onComplete:Function):Void
{
trace("load listening to: "+i);
trace("next in queue: " + _queues["lower"][0] + " | " + _queues["upper"][0]);
_functions[i] = {onProgress:onProgress, onComplete:onComplete};
if (_queues["lower"][0] != i + 1 || _queues["upper"][0] != i + 1) {
var divert:Number = 0;
for (var connection in _connections) {
trace("target: "+_connections[connection].target+" || i: "+(i+1));
if(int(_connections[connection].target) != (i + 1)) {
trace("bad connection");
divert++;
}
}
if (divert == _connections.length) {
_diversion = i + 1;
trace("divert: "+divert+" || connections: "+_connections.length);
}
}
}
をやってみてください –
@DennisJaamann 'i'は、パラメータとして関数に渡される数値としてキャストされる変数です。残りのコードは長く冗長で、この問題とはほとんど関係ありません。このコードが役立つ場合は、このコードで更新されます。 –
@sch 'typeof(_connections [connection] .target)'は 'object'を返しますが、最初は数値で、if文の数値に型キャストします' int(_connections [connection] .target) 'その値は'0' –