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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.07.2009, 02:05
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 11  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Имеет отношение к стилю. Это мое мнение.
Я считаю, что если переменная имеет "числовой" тип, то нужно явно показывать это в условии. Мне так больше нравиться, и кажется более логичным, уж почему не знаю.

Старый 06.07.2009, 11:05
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 12  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
Цитата:
Сообщение от Obi Посмотреть сообщение
Ну это, знаете ли, спорный момент. Строго говоря, пятерка — число, а не булево значение, потому логически, пятерка правдой быть не может.
Код AS1/AS2:
trace(5 == true) // false;
Ну и плюс читабельность повышается.

Вы бы еще со стрингом сравнивали.

Код AS3:
trace(Boolean(5) == true ) //true
trace(Boolean(0) == false) //true
__________________
Дело не в тебе

Старый 06.07.2009, 12:19
Obi вне форума Посмотреть профиль Отправить личное сообщение для Obi Найти все сообщения от Obi
  № 13  
Ответить с цитированием
Obi
 
Аватар для Obi

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
Цитата:
Сообщение от AL.exe Посмотреть сообщение
Вы бы еще со стрингом сравнивали.
Ага, а то, что вы пятерку пытаетесь привести к булеву значению — это конечно нормально, продолжайте.

Ну и кстати ничего не мешает string привести к правде. Просто это плохо.
__________________
#flasher@irc.trg.ru:6667


Последний раз редактировалось Obi; 06.07.2009 в 12:22.
Старый 06.07.2009, 12:28
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 14  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Не имеет отношения это к стилю - это просто непонимание работы програмы... если вы не понимаете, что if () уже конвертирует выражение в булевое значение - это значит, что вы просто не умеете использовать эту конструкцию / используете ее не по назначению. Кроме того, флешевый компилятор не на столько сообразительный, чтобы за вами такую чушь исправлять - если напишете сравнение, то в исполняемом коде получите сравнение + конвертацию вместо просто конвертации.

Цитата:
Сообщение от Obi Посмотреть сообщение
Ага, а то, что вы пятерку пытаетесь привести к булеву значению — это конечно нормально, продолжайте.
А вот так чтобы мануал открыть перед тем как глупости писать? Все простые типы спокойно конвертируются из одного в другой.
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 06.07.2009 в 12:31.
Старый 06.07.2009, 12:41
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 15  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Конечно я этого не понимаю, это только ты понимаешь. Свой код можно оформлять по разному, если ты этого не понимаешь, то я тебе сочувствую.

Старый 06.07.2009, 12:48
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 16  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Еще раз... это не оформление, твой код:
Код AS3:
if (a != 0)
и мой код:
Код AS3:
if (a)
компилируются в разный байткод и не взаимозаменимы - о каком оформлении речь?
__________________
Hell is the possibility of sanity

Старый 06.07.2009, 12:49
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 17  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Если для тебя мое мнение ничего не значит, почитай соглашения по написанию тогда, хотя-бы: http://opensource.adobe.com/wiki/dis...ng+Conventions с примерами оформления. Обрати внимание на раздел Coercion.
Я не говорю, что это так и должно быть, как кому нравиться, тот так и пишет.

Старый 06.07.2009, 12:52
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 18  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Не поверишь, я их читал...
Цитата:
Coercion

Don't compare a Boolean value to true or false; it already is one or the other.

Do this:

if (flag)

Not this:

if (flag == true)
А вот ты похоже, не читал
__________________
Hell is the possibility of sanity

Старый 06.07.2009, 12:53
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 19  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Речь идет не о Boolean!!

Старый 06.07.2009, 13:05
Obi вне форума Посмотреть профиль Отправить личное сообщение для Obi Найти все сообщения от Obi
  № 20  
Ответить с цитированием
Obi
 
Аватар для Obi

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
Цитата:
Сообщение от wvxvw Посмотреть сообщение
А вот так чтобы мануал открыть перед тем как глупости писать? Все простые типы спокойно конвертируются из одного в другой.
Причем тут мануал? Я прекрасно знаю, что конвертируются, но это не значит, что не нужно указывать явно. Это вопрос читабельности. В классе из 1000 строк с вашими
Код AS1/AS2:
if(a) while(b) c ? d : e
будет неразбериха. Гораздо понятнее будет написать
Код AS1/AS2:
if(a != undefined) {
   while(b > 0) {
Так можно и к 'hello world' прибавить 17, и все знают, что 17 сконвертируется в строку. Просто логично это явно указать, поскольку число к строке прибавить нельзя.

И да, простые типы тут совсем не в тему.
Код AS3:
var tf:TextField = new TextField();
trace(Boolean(tf)) // true
Вот вам и текстфилд стал правдой.

К тому-же, что бы вы не говорили, но пятерка правдой быть не может. Воть хоть убейте меня, но — не может.
__________________
#flasher@irc.trg.ru:6667


Последний раз редактировалось Obi; 06.07.2009 в 13:15.
Создать новую тему Ответ Часовой пояс GMT +4, время: 20:45.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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