Как вручную подавить предупреждающее сообщение Flash Builder в коде AS3? - PullRequest
0 голосов
/ 11 января 2012

Я получаю предупреждающее сообщение Flash Builder для нескольких объявлений переменных переменной arr1 в следующем коде AS3:

if (var1 == var2) {
   var arr1:Array = new Array(100);
   <some code>
} else {
   var arr1:Array = new Array(200);
   <some other code>
}

Я мог бы устранить это предупреждение с помощью еще нескольких операторов if / else, нокод работает нормально, и я не понимаю, почему я должен добавить сложность, если предупреждение приемлемо.Хотелось бы услышать мнение кого-то другого, если вы думаете по-другому.

Предполагая, что с предупреждением можно жить, как подавить предупреждение вручную в Flash Builder?То есть только предупреждение для этого примера;другие предупреждения все еще должны отображаться.

Например, в Matlab можно добавить специальный код в качестве комментария к рассматриваемой строке, и предупреждение, относящееся к этой строке кода, не будет отображаться.Что-нибудь подобное доступно во Flash Builder 4.6?

1 Ответ

3 голосов
/ 11 января 2012

ActionScript использует подъем переменных, это означает, что все объявления переменных перемещаются в верхнюю часть функции, поэтому после этого компилятор видит два объявления одной и той же переменной.

Даже если вы объявите переменную перед ее использованием, она будет работать ...

Например, эти примеры по-прежнему действительны в as3:

// more logical and preffered one
var arr1:Array;
if (var1 == var2) {
   arr1 = new Array(100);
   <some code>
} else {
   arr1 = new Array(200);
   <some other code>
}


if (var1 == var2) {
   var arr1:Array = new Array(100);
   <some code>
} else {
   arr1 = new Array(200);
   <some other code>
}


if (var1 == var2) {
   arr1 = new Array(100);
   <some code>
} else {
   var arr1:Array = new Array(200);
   <some other code>
}


if (var1 == var2) {
   arr1 = new Array(100);
   <some code>
} else {
   arr1 = new Array(200);
   <some other code>
}
var arr1:Array;
...