Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   if и else (http://www.flasher.ru/forum/showthread.php?t=211236)

Aivasov 17.07.2015 01:24

if и else
 
Изучаю ActionScript, дошел до главы If Else^ Вроде все понял открыл flash и написал код

Код AS3:

var dir:String = "Красный";
 
if (dir=="Красный");
{
        trace ("Красный свет дороги нет");
}
 
else if (dir=="Желтый");
{
        trace ("Желтый свет готовься к пути");
}
else if (dir=="Зеленый");
{
        trace ("А зеленый свет гони");
}
 
else
        trace ("Заглуши машину");

компилю и флешь выдает ошибку
1083: Синтаксическая ошибка: else не ожидается

Wolsh 17.07.2015 08:48

Не надо ставить точки с запятой после условия.
Это как. Точка посреди предложения.

bifidokk 17.07.2015 08:49

зачем точка с запятой после if и else if ?

tattori 17.07.2015 22:21

да точки с запятой не ставь, но за это по-моему выдает предупреждение , а ошибка в скобках {} точнее в их отсутствии
Код AS3:

else 
        trace ("Заглуши машину");

это твои последние строчки
Код AS3:

else 
{
        trace ("Заглуши машину");
}

а надо так

samana 17.07.2015 22:46

Цитата:

Сообщение от tattori (Сообщение 1185037)
ошибка в скобках {} точнее в их отсутствии

Совсем нет. Если блок кода после if или elsе (и др.условий) состоит из одной команды, то можно писать без фигурных скобок.

tattori 17.07.2015 23:52

Цитата:

Сообщение от samana (Сообщение 1185038)
Совсем нет. Если блок кода после if или elsе (и др.условий) состоит из одной команды, то можно писать без фигурных скобок.

оооу , проверил все верно

Wolsh 18.07.2015 01:27

Цитата:

но за это по-моему выдает предупреждение
Предупреждение о чем?
Конструкция if() может не содержать фигурных скобок, как Вам только что показали. В таком случае отсутствие действия после if(Boolean), то есть запись вида if(Boolean); это просто отсутствие действия, аналогичное записи if(Boolean){}. Никакого нарушения синтаксиса нет. А последующий блок в скобках рассматривается просто как блок действий. Вы можете любую последовательность действий заключить в фигурные скобки, и даже дать ему имя (метку).
Код AS3:

                public function Main():void
                {
                        var s:Shape = new Shape();
                        super.addChild(s);
                        block:
                        {
                                if (s.stage != null) break block;
                                trace("start block");
                                // какие-то действия
                        }
                        trace("end of block");
                }

А вот дальнейшее else оказывается оторванным от предыдущего if(), без которого применяться не может, о чем и сообщает компилятор.
Цитата:

1083: Синтаксическая ошибка: else не ожидается


Часовой пояс GMT +4, время: 18:19.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.