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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.04.2010, 14:02
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 11  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Цитата:
Прошу извинить меня, если кого оскорбил.
Ок, забыли.

Цитата:
И еще хотелось бы узнать почему
Игнорируем первый параметр ( closure:Function ).
Метод listen принимает параметры двумя шаблонами: первый это:
хэндлер, событие1, событие2, событие3 – в этом случае, для всех событий будет один обработчик. Этот обработчик if..if else..else или switchem уже разбертся, что и куда.
второй это:
событие1, хендлер1, событие2, хендлер2 и тд.
Код AS3:
if( rest[0] is Function )
    var handler:Function = rest.shift();
Это краткая запись (shortcut) для записи:
Код AS3:
var handler:Function;
if( rest[0] is Function )
    handler = rest.shift();
То есть, если первый парметр функция, то мы сносим первый элемент из массива rest, и передаем его, переменной handler.

Далее мне нужно проверить, назначено ли что либо в handler, я могу сделать это через handler == null, handler === null, handler, handler is Function, handler as Funcition.
handler == null, handler === null, и просто handler в if блоке выдаст мне Warning (при компиляции mxmlc ). Чтобы держать код чистым, я могу использовать либо as или in конструкцию. То есть я хочу построить условие
Если ( переменная хендлер определенна ) { делай вот это } так как я ранее. Я мог бы использовать is в обоих случаях, но так как контекст очень похож ( if блок ) использовать разные конструкции является более правильным решением, так как хоть они и похожи по результату, это различные действия. Если бы контекст был разный (например один if блок а другой цикл) то применение is было бы приоритетней.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 26.04.2010, 15:28
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 12  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Код AS3:
log( 'args:', args );
А что есть log? Функция в твоём пакете?

Цитата:
Я мог бы использовать is в обоих случаях, но так как контекст очень похож ( if блок ) использовать разные конструкции является более правильным решением, так как хоть они и похожи по результату, это различные действия. Если бы контекст был разный (например один if блок а другой цикл) то применение is было бы приоритетней.
Объясни почему. Это хороший стиль программирования или что?

Старый 26.04.2010, 16:13
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 13  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
@Psycho Tiger
Да это нечто вроде trace, в моем пакете, для быстрого логгирования.

Цитата:
Объясни почему. Это хороший стиль программирования или что?
Это семантическая заметка. Ну представь себе предложение:
Я пошел в магазин, потом я отправился в аэропорт.
В обоих случаях ты куда то вдигаешься, то есть выполняешь два одинаковых действия, но цели совсем разные. Поэтому мы используем синонимы, вместо использования одного слова (отправился в магазин, отправился в путешествие тоже грамматически правильно сказать, но менее понятно, и стилистически не правильно). В моем случае я проводил 2 действия, и поэтому решил отметить это другим "выражением-синонимом".
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 26.04.2010, 18:30
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 14  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Хм, если честно не понимаю толка от этого, наоборот, если по запарке просматриваешь код и однотипные действия (а нам и там и там нужно лишь проверить принадлежность к типу) и операторы пляшут можно выпасть в ступор ненадолго, а там и мысль потерять, что же ты хотел сделать =). На данном этапе своего развития придерживаюсь мнения, что однотипные действия должны быть сделаны однотипно, если это вменяемо (т.е. нет явного ущерба производительности, нет хаков и т.д.).

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:41.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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