Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.04.2007, 19:10
k0zer вне форума Посмотреть профиль Отправить личное сообщение для k0zer Найти все сообщения от k0zer
  № 1  
Ответить с цитированием
k0zer
[+] варез
[+3 04.04.07]

Регистрация: Jul 2002
Адрес: SPb
Сообщений: 100
По умолчанию string -> Boolean

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

Старый 30.04.2007, 19:41
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Код:
str = (str=="true");

Старый 30.04.2007, 20:18
k0zer вне форума Посмотреть профиль Отправить личное сообщение для k0zer Найти все сообщения от k0zer
  № 3  
Ответить с цитированием
k0zer
[+] варез
[+3 04.04.07]

Регистрация: Jul 2002
Адрес: SPb
Сообщений: 100
спасибо
а спец функции видимо нет, потому что должна иметься возможность выбора значения по умолчанию, если строка = не "true"/"false", а "абракадабра" или undefined


Последний раз редактировалось k0zer; 30.04.2007 в 20:21.
Старый 30.04.2007, 20:47
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 4  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Boolean(str) работает. null, пустая строка и undefined - это ложь.
Все остальное чистая правда.
Код:
boo = ( str && str != "false");


Последний раз редактировалось Kikasso; 30.04.2007 в 21:30.
Старый 30.04.2007, 20:48
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Спец. нету. Сами напишите.

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

Старый 30.04.2007, 21:15
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 6  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
__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"));
}


Последний раз редактировалось Kikasso; 30.04.2007 в 21:30.
Старый 30.04.2007, 21:30
k0zer вне форума Посмотреть профиль Отправить личное сообщение для k0zer Найти все сообщения от k0zer
  № 7  
Ответить с цитированием
k0zer
[+] варез
[+3 04.04.07]

Регистрация: Jul 2002
Адрес: SPb
Сообщений: 100
Цитата:
Сообщение от Kikasso
Boolean(str) работает. null, пустая строка и undefined - это ложь.
Все остальное чистая правда.
Код:
boo = ( str && str != "false");
upd: тут недоработка, см. ниже
Ты это все к чему написал? По-моему очевидно, что я имел ввиду под "Boolean(str) не работает".
И зачем писать вот такое????
Код:
boo = ( str && str != "false");
после того как _etc уже дал простой код
Код:
bool = (str=="true");

Старый 30.04.2007, 21:35
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 8  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Зачем писать такое? Потому что давайте посмотрим:
Код:
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


Последний раз редактировалось Kikasso; 30.04.2007 в 21:39.
Старый 30.04.2007, 21:40
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Kikasso, для начала нужно было проверять лишь строковые значения. Ну и потом, как правило, если строка "true", то это true, а все остальное — false. Это и было, я так понимаю, условием задачи.

Старый 30.04.2007, 21:42
k0zer вне форума Посмотреть профиль Отправить личное сообщение для k0zer Найти все сообщения от k0zer
  № 10  
Ответить с цитированием
k0zer
[+] варез
[+3 04.04.07]

Регистрация: Jul 2002
Адрес: SPb
Сообщений: 100
Kikasso, считаешь на название темы внимание обращать не стоит?
это я про
bool(0);
bool(true);

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

Цитата:
Сообщение от Kikasso
Работает, только не так, как вы ожидали:
http://livedocs.adobe.com/flash/8/ma...=00001720.html
Похоже все-таки не очевидно, что я имел ввиду ))


Последний раз редактировалось iNils; 30.04.2007 в 21:50.
Создать новую тему Ответ Часовой пояс GMT +4, время: 20:51.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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