пятница, 15 мая 2009 г.

Операторы условия во Flex'e и чудеса, связынные с ними

Что-то странное сегодня творилось с моим мозгом и последовательностью выполнения команд при внесении изменений в разработанное ранее приложение. Имеем очень простой код:

1 top_buttons.selectedIndex = 1;
2 if (top_buttons.selectedIndex == 1) {
3 Alert.show('Ура!');
4 } else {
5 Alert.show('Фигу тебе!');
6 }


Казалось бы ход выполнения ясен как 2+2=4, НО! я вижу вовсе не радостное Ура, а самую настоящую фигу. Что это такое - я не знаю. Что самое смешное во всём этом, что вот такой код:

1 private function test(): void {
2 top_buttons.selectedIndex = 1;
3 if (top_buttons.selectedIndex == 1) {
4 Alert.show('Ура!');
5 } else {
6 Alert.show('Фигу тебе!');
7 }
8 }
9
10 test(); // Фигу
11 test(); // Ура

даёт сперва фигу, а потом радостно сообщает "Ура". В чём прикол - до сих пор не понял. Решил пока что на это забить, ибо нет времени. Просто изменил логику программы на прямолинейную без всяких там условий.

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

Комментариев нет:

Отправить комментарий