Форум 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)
-   -   string -> Boolean (http://www.flasher.ru/forum/showthread.php?t=95220)

k0zer 30.04.2007 19:10

string -> Boolean
 
Я не нашёл никакой функции типа parseXXX() для преобразования строки в булев тип. Boolean("xxx") тоже не работает.
Вопрос как преобразовать строку красиво, чтобы без if или ?:

etc 30.04.2007 19:41

Код:

str = (str=="true");

k0zer 30.04.2007 20:18

спасибо
а спец функции видимо нет, потому что должна иметься возможность выбора значения по умолчанию, если строка = не "true"/"false", а "абракадабра" или undefined

Kikasso 30.04.2007 20:47

Boolean(str) работает. null, пустая строка и undefined - это ложь.
Все остальное чистая правда.
Код:

boo = ( str && str != "false");

etc 30.04.2007 20:48

Спец. нету. Сами напишите.

Kikasso, я бы лучше проверял, если не true, то значит false, а у тебя false только если str равен false (строкой) или не существует.

Kikasso 30.04.2007 21:15

__etc, для if-else подходит. Ну можно и добавить словечко:
Код:

function bool(str){        trace ( Boolean(str) && str != "false"); }
bool( s );
bool( "");
bool( "false" );
bool( false );
bool(0);
trace("------");
bool(true);
bool("1");
bool(1);

или
Код:

function bool(str){
        trace (Boolean( str && str != "false"));
}


k0zer 30.04.2007 21:30

Цитата:

Сообщение от Kikasso
Boolean(str) работает. null, пустая строка и undefined - это ложь.
Все остальное чистая правда.
Код:

boo = ( str && str != "false");
upd: тут недоработка, см. ниже

Ты это все к чему написал? По-моему очевидно, что я имел ввиду под "Boolean(str) не работает".
И зачем писать вот такое????
Код:

boo = ( str && str != "false");
после того как _etc уже дал простой код
Код:

bool = (str=="true");

Kikasso 30.04.2007 21:35

Зачем писать такое? Потому что давайте посмотрим:
Код:

function bool(str){
trace( str == "true" );
}
bool( s );
bool( "");
bool( "false" );
bool( false );
bool(0);
trace("------");
bool("true");
bool(true);
bool("1");
bool(1);

Потом запустите проверку из моего последнего поста.
Цитата:

Сообщение от k0zer
Boolean(str) не работает

Работает, только не так, как вы ожидали:
http://livedocs.adobe.com/flash/8/ma...=00001720.html

etc 30.04.2007 21:40

Kikasso, для начала нужно было проверять лишь строковые значения. Ну и потом, как правило, если строка "true", то это true, а все остальное — false. Это и было, я так понимаю, условием задачи.

k0zer 30.04.2007 21:42

Kikasso, считаешь на название темы внимание обращать не стоит?
это я про
bool(0);
bool(true);

когда даешь подобные листинги, хорошим тоном является в комментариях к строке писать что выдает на нее trace.

Цитата:

Сообщение от Kikasso
Работает, только не так, как вы ожидали:
http://livedocs.adobe.com/flash/8/ma...=00001720.html

Похоже все-таки не очевидно, что я имел ввиду ))


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

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