2014-02-05 4 views
0

Я знаю, что логическое значение может иметь только 2 значения, false и true. И я могу закодировать класс, обладающий свойством, которое может иметь 3 состояния. Но как я могу закодировать его таким образом, чтобы при настройке или получении его состояния я мог ссылаться на сам объект, а не на его свойство? например:Кодирование трехмерного состояния Boolean в AS3

var triBoolean:TriBoolean = 0; 
// later... 
triBoolean = 1; 

Поэтому я хочу, чтобы сделать это, так что я могу иметь значение, которое переключает через три состояний, и я предполагаю, что это будет быстрее обратиться непосредственно к объекту - но, возможно, это не так. Или это только примитивные типы, которые можно использовать таким образом?

+0

Что вы имеете в виду «быстрее «? Быстрее для чего? – eleven

+0

Я имею в виду ускорение обработки. Быстрее, чем со ссылкой на свойство, а не быстрее для чего-либо (кроме скорости). Но я могу ошибаться ... – moosefetcher

+0

Я не думаю, что вы не булин, википедия (в информатике логический или логический тип данных - это тип данных, имеющий два значения). Похоже, что вы действительно wan 't an Enum, хотя это не является родным для языка AS3, существует несколько реализаций, плавающих по сети: http://www.herrodius.com/blog/87 – MonkeyMagiic

ответ

0

Если вы используете Object тип вы можете сделать это, имея: (нуль, истина или ложь) с тремя состояниями, вы будете терять типобезопасность, но по-прежнему в силе:

var triBoolean:Object = null; 
// Then you can assign your triple states... 
triBoolean = false; //valid 
triBoolean = true; //valid 
triBoolean = null; //valid 
Смежные вопросы