да, нет, по фигу
Друзья, помогите советом.
У меня регулярно возникает ситуация, когда для какой-то переменной, изначально задуманной и объявленной в качестве Boolean, начинает резко не хватать двух положений. Например, для действия с предметом экипировки может быть 2 варианта: надеть (true) или снять (false). Но чуть только появляется условный вариант "оставить без изменений", вся система рушится. Практический вопрос, что вы думаете на счёт использования значения null для переменных типа Boolean? Мне пока сильно не понравилось, в первую очередь из-за того, что начинаешь путаться в краткой форме записи проверки if(value). Пока для себя придумал вариант с объявлением таких переменных как String и присвоении им текстовых строк "true", "false" или понятный строковый null, если ничего менять не надо. Правда, такое решение выглядит тоже как-то не айс... |
А нельзя построить модель так, чтобы просто не дергать значение, если оно без изменений?
Либо можно подставлять имеющееся значение экипировки, то есть при Код AS3:
Код AS3:
Код AS3:
|
Цитата:
Цитата:
|
Цитата:
Ты можешь объявить тип переменной Object и тогда сможешь использовать для неё как true, false, так и null, но о безопасности типа тогда говорить не приходиться. А вообще попахивает каким-то бредом. Зачем вообще что-то делать, если ничего делать не надо? |
RedHead90, всё, понял-отстал. Спасибо. Это ты верно напомнил определение типа Boolean.
Вопрос снят, я фигню сморозил. |
1. Название тему не отражает сути вопроса!
2. Смотрите, что такое битовые маски. |
3. Либо Enum. В as3 его нет, реализуется просто через Int с классом статических констан (Status.UNKNOWN, Status.ENABLED, Status.DISABLED)
Цитата:
|
Цитата:
|
ZergMaster, в первом сообщении я привёл не конкретный пример, а наиболее наглядный для краткой иллюстрации сути вопроса. Не парься.
Если интересно, подобная ситуация на практике у меня возникла, когда потребовалось применять не одиночное значение да/нет, а профиль из нескольких, который имеет свой персональный ID и объединяет их в некую осмысленную комбинацию. Вот тут и всплывает проблема того, что раньше при отсутствии изменений можно было действительно просто ничего не делать, а теперь стало нельзя! |
Цитата:
Описать одно из трёх значений оно не сильно поможет :) |
Часовой пояс GMT +4, время: 11:20. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.