Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Хочу сделать int=null (http://www.flasher.ru/forum/showthread.php?t=129307)

Волгоградец 01.09.2009 10:43

Не берите в голову, там было описание перед кодом - но ересь полная, я удалил поэтому...

random13 01.09.2009 14:01

прочитал всю тему, были упоминания по поводу типа Number, возникает вопрос а его с чем сравнивать, в данный момент делаю так (но выдает предупреждения)
Код AS3:

var val:number = 1234.4351;
if(val != undefined)

понятное дело не верно но так как происходит как я понимаю приведение типов то компилятор это проглатывает, с чем лучше сравнивать?

просто с нулем на самом деле тоже не очень подходит чисто логически, так как в моем случае val это гео координата

СлаваRa 01.09.2009 14:09

тип Number сравнивайте с NaN

random13 01.09.2009 14:17

builder все равно ругается: Severity and Description Path Resource Location Creation Time Id
1012: Переменные типа Number не могут быть неопределенными. Значение "undefined" будет типом, приведенным к Number до сравнения.
на вот это
Код AS3:

if(val.lon1 != NaN && val.lat1 != NaN && val.lon2 != NaN && val.lat2 != NaN) {


СлаваRa 01.09.2009 14:20

посмотрите 3 и 4 посты данного топика, если у вас так и стоит
Код AS3:

val:number

может быть ошибка в этом?

random13 01.09.2009 14:28

не совсем понял что вы имеете ввиду,
Код AS3:

var val:number = 1234.4351;
if(val != undefined)

это чисто пример не относящийся ни к чему, а вот это уже реальный код
Код AS3:

if(val.lon1 != NaN && val.lat1 != NaN && val.lon2 != NaN && val.lat2 != NaN) {

другой вопрос что в объекте val реально есть все эти члены
и мне то их и нужно сравнивать

СлаваRa 01.09.2009 14:37

для типа Number используется NaN - который указывает что n:Number - не число

Цитата:

Специальный элемент типа Number, представляющий значение NaN (не число). Когда результатом математического выражения является значение, которое невозможно представить в виде числа, ему присваивается обозначение NaN.
а для того чтобы сравнить с NaN нужно использовать не == ,а isNaN()

RandomUser 01.09.2009 14:56

Цитата:

В целом ты прав. Но либо у меня проблемы с памятью, либо проекты большие - в конце проекта я уже не помню, что творит какой-нибудь метод класса, который я писал ранее. И даже говорящие имена, вроде objWidth слабо помогают. Я знаю, что это ширина объекта, точно могу сказать. Только вот какого объекта, я уже не помню. И не потому, что организация кода плохая, мол непонятного какой объект ширину храним, этот объект на этот класс всего один, а тупо потому, что не помню.
На мой взгляд, для более-менее крупного проекта название objWidth ни о чем и не говорит. Что такое obj? Я бы ее назвал mapWidth/menuWidth/messageWidth. И именно наличие таких универсальных, суперклассных методов типа setPosition, которые умеют делать все и вызывают у вас проблемы с памятью. Но опять таки - это больше относиться к средним/крупным проектам.

Яски 01.09.2009 18:33

Интересный класс это стринг:
Код AS3:

var s:String;
trace(s.length); // Error: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".


iNils 01.09.2009 18:58

Цитата:

Интересный класс это стринг:
var s:String;
trace(s.length); // Error: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
А s не содержит объект этого класса :).


Часовой пояс GMT +4, время: 05:48.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.