Показать сообщение отдельно
Старый 26.11.2011, 16:34
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 8  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Сообщение от Genzo Посмотреть сообщение
Не совсем то, но похоже :
Код AS3:
var a:uint = 0;
                label1 : if(true){
                    if(a == 0)
                    {
                        a = 1;
                        break label1;
                    }
                    trace(true)
                }
                label2: if(a == 1)
                {
                    trace(false);
                }
Ни че себе, оно компилируется и даже вроде как работает.

Вообще есть более красивый "не совсем тот" способ (как бы не сам Стив Макконел его рекомендовал):
Код AS3:
do
{
    if (someCondition)
    {
       if(someSubcondition)
       {
           ...
           break;
       }
       ...
    }
    ...
}
while(false);
if (!someCondition)
{
    ...
}
Редко, но когда не резон разбивать функцию на более мелкие (или городить булевы флаги) - использую.