|
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Хочу сделать int=null
Для чего?
К примеру, function setPosition(xPos:int=null):void{ if (xPos==null) x=Math.round(Math.random()*stage.stageWidth)); else x=xPos; } Заводить второй аргумент как флаг очень не хочется, ровно как и хранить специальное число вроде 666, что function setPosition(xPos:int=null):void{ if (xPos==666) x=Math.round(Math.random()*stage.stageWidth)); else x=xPos; } Как быть?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
int - это примитивный тип. А null применяется к ссылочным типам. И компилятор не ругается, а выдает предупреждение, но тем не менее присваивает в этом случае значение по умолчанию, т.е. 0.
В твоем случае можно смотреть количество аргументов, передаваемых в функцию. |
|
|||||
а NaN нельзя задавать по умолчанию? Или просто какое-нито крайнее значение. максимальный/минимальный int
|
|
|||||
стервочка (я мужик)
|
NaN только для Number.
|
|
|||||
Регистрация: Apr 2009
Адрес: kup78.livejournal.com
Сообщений: 84
|
Psycho Tiger, у вас "x" имеет тип Number. Правильнее было бы:
т.к. все равно у вас, int будет преобразовываться к Number. А вобще, int.MIN_VALUE и int.MAX_VALUE вам могут помочь. Или просто используйте отрицательное значение. |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
kup, отрицательные значения не катят - я могу поставить объект за сценой, чтобы потом плавно переместить его на сцену. MIN_VALUE - это как подвид "специального" числа, только вероятность его использования у меня стремится к 0. И да, с чего вы взяли что у меня этот класс от наследника DisplayObject`а наследуется? =) Вообще да, но я сеттер переопределил для х, нужно там кое что ещё делать и нужен именно int) Спасибо за отклик.
2Волгоградец: у меня флешка даже не компилируется Говорит "явное несоответствие типов" - наверное, очень жесткий стрикт мод стоит какой-то, это в принципе меня радует. Пожалуй да, arguments.length будет самым лучшим вариантом. Проскользнула мысль, что в любом случае в моём примере оно будет 1, но после захода в тему BloodHounD`а я уверен, что это не так Спасибо всем.
__________________
Тут мужик танцует и поёт про флэш Последний раз редактировалось Psycho Tiger; 29.08.2009 в 20:11. |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
|
|
|||||
Modus ponens
|
Со стрингом есть разница... и вообще, изза странных предписаний в ES, с null в AS3 какие-то неоднозначости...
__________________
Hell is the possibility of sanity |
|
|||||
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
В документации сказано, что это два разных значения
Цитата:
|
|
|||||
Регистрация: Aug 2008
Сообщений: 15
|
Как показывает мой опыт, правильно - не делать неявных предположений в функциях типа setPosition. Если уж на то пошлО, то Х координата может быть и у объекта не размещённого на сцене и тогда этот код будет просто опасен. Нужно не передавать параметр для if, а решать - вызвать setPosition(x, y) или setPositionRand(stage.width, stage.height) в вызывающей функции.
|
Часовой пояс GMT +4, время: 17:50. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|