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

Вернуться   Форум Flasher.ru > Блоги > Идиотизмы

Даже в определениях идиотизма встречается идиотизм.
Цитата:
Идиотизм — устаревшее название идиомы
Идиома в программировании — понятие близкое к понятию шаблона проектирования. Идиомы представляют собой шаблоны проектирования, учитывающие специфику конкретного языка программирования и потому не универсальные. Это хорошие решения проектирования для конкретного языка или программной платформы.
Оценить эту запись

Идиотизмы: brackets vs dot

Запись от BlooDHounD размещена 08.06.2010 в 01:05
Обновил(-а) BlooDHounD 02.07.2010 в 05:07 (криво назвал)

как-то давно я просматривал исходники флекса и не врубался почему они используют [ ] ( brackets ) для доступа к свойствам ко многим объектами. хотя сама адоба вроде как рекомендует юзать . ( dot ). так вот недавно я ощутил на себе парадокс ситуации.
понадобилось мне написать такой вот код:
Код AS3:
var LoaderConfig:Class = ApplicationDomain.currentDomain.getDefinition( 'mx.messaging.config::LoaderConfig' ) as Class;
var parameters:Object = ( LoaderConfig ? LoaderConfig.parameters : null );
удивиться пришлось не на шутку, когда я получил гневный крик моего плэйера:
Код:
ReferenceError: Error #1069: Не удалось найти свойство com.myproject::parameters в class mx.messaging.config.LoaderConfig; отсутствует значение по умолчанию.
как только обернул обращение в квадратные скобки, сообщение исчезло. видимо испугалось ...

оказывается возникал конфликт имён:
Код AS3:
var parameters:Object = ( LoaderConfig ? LoaderConfig.parameters : null );
то есть вместо запроса обычного свойства у LoaderConfig, плэйер пытался сделать какой-то запрос используя локальную переменную parameters.

такое поведение предположил iNils. и, действительно, после переименования локальной переменной, всё начало работать правильно.
Всего комментариев 0

Комментарии

 

 


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


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