![]() |
Цитата:
|
Причем тут пустота?
Дефолтные значения как раз и призваны, чтобы не было никаких "пустот". Вы создаете объект с цветом по умолчанию, каким он будет, 0х000000 или 0х01ad45fe - это уж ваше дело. Если пользователь задавал цвет, отличный от дефлотного, то вы это увидите. Если важен именно сам факт изменеия, то в сеттере можно записывать предыдущие колоры в массив, к примеру, для отката, или эвент диспатчить или еще что-то.. помнится в АС была чудная фича Object.watch(), кажется.. Мне не понятно ваше стремление к пустоте :) |
Если из чисто абстрактных соображений (на практике я как-то тоже не сталкивался с необходимостью uint - null), то, можно сделать класс обертку для uint, скажем UInt и задать в нем константу (или много констант никак не трансформирующихся в uint, но тем не менее типа UInt, и потом все мат. операции проводить через myUInt.valueOf(), где:
Код AS3:
|
Цитата:
Ну вот допустим: Код:
<container1> |
Цитата:
Не вижу каких-то проблем. Пустоты с * в топку :). Впрочем, настаивать особо смысла тоже не вижу. Делайте как хотите. |
Ну так вам просто нужно зарегестрировать факт изменения цвета пользователем, а цвет не может быть "никаким", он как раз и должен быть в диапазоне от 0 до FFFFFFFF. T.e. в сеттере поставьте флаг который бы и оповещал о том, вывывался сеттер или нет. Но, по-моему, об этом уже было тут сказано...
|
Цитата:
Был ли изменен цвет - булевы данные. uint - другой тип данных. null - третий. Не надо пытаться в стандартном типе данных передать еще и другой тип. Измените свою логику. Чтобы передать цвет - uint. Чтобы передать, был ли он изменен - Boolean. И все встанет на свои места. Не пишите новый язык для своей программы. Пишите программу по законам выбранного языка. |
Возмите Number...
|
Цитата:
|
Не совсем понятно, причем тут строгая типизация...
Что касается заглавного поста, то лучше, имхо, в таких случаях использовать флажки. Потом в какой-то момент может потребоваться, чтобы переменная color была в начальный момент уже определена и в этом случае потребуется изменение условия проверки. Лишняя работа. Да и вообще, как показывает практика, лучше отделять фиксацию факта действия пользователя от фиксации результата его действия. |
| Часовой пояс GMT +4, время: 01:50. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.