Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Логическое Not ! и ноль (http://www.flasher.ru/forum/showthread.php?t=104548)

Thanx7 27.11.2007 18:27

Логическое Not ! и ноль
 
Можно сказать, что

Код:

!(0) == true
а

Код:

!(n) == false, где n - любое число, кроме нуля.
Так? Всё правильно?

CrazyFlasher 27.11.2007 18:42

а функией trace() не пробовали пользоваться?

Thanx7 27.11.2007 21:09

Пробовал

Код:

trace(!(0));
trace(!(1));
trace(!(-1));

Код:

true
false
false

Просто не верится. Не знал, что логическое отрицание нуля - даёт значение "истина".

Fernando Costa 27.11.2007 21:13

вполне очевидно что:
не(неправда) == правда

;)

etc 27.11.2007 22:42

Цитата:

Сообщение от Thanx7
Пробовал

Код:

trace(!(0));
trace(!(1));
trace(!(-1));

Код:

true
false
false

Просто не верится. Не знал, что логическое отрицание нуля - даёт значение "истина".

Ноль при переводе в булево выражение дает «false», оператор отрицания возвращает true. В чем проблема?

wvxvw 27.11.2007 22:42

Это АС2 насильно конвертит Number в Boolean, иногда очень удобно, а иногда дико мешает. Чтобы проверить, не является ли аргумент числом лучше пользоваться isNaN()

etc 27.11.2007 22:43

Цитата:

Сообщение от wvxvw
Это АС2 насильно конвертит Number в Boolean, иногда очень удобно

Всегда удобно.

wvxvw 27.11.2007 22:53

Мне, иногда нужно, чтобы и 0 тоже считался за true, мне было бы удобнее, если бы я сам себе мог настраивать правила конвертации числа в булевое значение =) (Очень часто хочется, чтобы, например, <0 считалось за false, а >=0 за true, избавило бы от лишней операции %)

etc 27.11.2007 22:54

Собственно, >= и есть решение.

iNils 27.11.2007 23:00

Код:

function isLess (val) {
        return Boolean (Math.max (val + 1, 0));
}
trace (isLess (2));
trace (isLess (1));
trace (isLess (0));
trace (isLess (-1));
trace (isLess (-2));



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

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