Actionscript if / else синтаксис Вопрос - PullRequest
1 голос
/ 24 августа 2009

Что из нижеперечисленного лучше всего переводит английское выражение «Если будет дождливо, мы посмотрим фильм. В противном случае мы пойдем в парк».

   a. if (rainy = true) { gotoAndStop ("movie"); }
   b. if (rainy == true) { gotoAndStop ("movie"); }
   c. if (rainy = true) { gotoAndStop ("movie"); } else { gotoAndStop ("park"); }
   d. if (rainy == true) { gotoAndStop ("movie"); } else { gotoAndStop ("park"); }

Мой ответ будет "d" - это правильно?

Ответы [ 3 ]

4 голосов
/ 24 августа 2009

Да, 'd' - правильный ответ.

Разница между = и == заключается в том, что == сравнивает и возвращает логическое значение (истина или ложь), с которым вы работаете (называется «ветвление»).

= называется оператором присваивания, и, хотя совершенно допустимый код для записи, это не то, что вы обычно хотите использовать в операторе if.

if(x = 5) {
    doStuff();
} 

В основном означает «поставить 5 вместо x; если x ненулевой, вызовите doStuff».

Еще одна вещь, которую следует отметить, когда речь идет о логических значениях, писать «1014» безопаснее

if (rainy) {
    gotoAndStop("movie");
} else {
    gotoAndStop("park);
}
0 голосов
/ 27 августа 2009

Это тоже круто:

gotoAndStop(rainy ? "movie" : "park");
0 голосов
/ 27 августа 2009

или ... попробуйте это, делает то же самое .... но выглядит сексуально :) 1001 *

var activity:String = (rainy) ? "movie": "park";
gotoAndStop(activity);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...