Разница в поведении для каждого в цикле и для цикла над векторами в as3 - PullRequest
2 голосов
/ 13 декабря 2011

У меня есть две петли:

var theVector:Vector.<MyClass>;

for each (var myClassItem:MyClass in theVector)
{
    myClassItem.methodInMyClass();
}

for (var i:int = 0; i < theVector.length; i++)
{
    theVector[i].methodInMyClass();
}

Я ожидал, что оба будут работать одинаково. Однако при компиляции первый цикл (для каждого входа) выдает ошибку, которой methodInMyClass не существует. Это что-то задокументировано, что я просто не смог найти? У меня сложилось впечатление, что для каждого в цикле будет работать нормально.

Также только что понял, что это работает:

for each (var myClassItem:MyClass in theVector)
{
    myClassItem['methodInMyClass']();
}

Я использую FlashDevelop для компиляции и начинаю задаваться вопросом, может ли это быть проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...