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

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

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

Идиотизмы: с миру по нотке

Запись от BlooDHounD размещена 08.06.2010 в 02:39
Обновил(-а) iNils 08.06.2010 в 02:45

не секрет, что в AS есть различные недокументированные багафичи.

например у класса Object есть такие вот методы:
Код AS3:
protected static function _dontEnumPrototype(proto:Object):void;
protected static function _setPropertyIsEnumerable(o:*, V:String, enumerable:Boolean):void;
static function init():*;
а как обнаружил недавно Дениска ( etcs.ru ), если, попытаться объявить метод $construct у наследников DisplayObject, то получим следующие ошибки:
Код:
1021: Повторное определение функции.
1025: Невозможно переопределить окончательный метод.
ещё классы Vector, Math - единственные классы, у которых нету статического свойстсва length. а у классов Namespace, XML и XMLList у этого свойство отсутствует типизация.

полно недокументированных классов, или даже целых пакетов.
существует загадочный пакет adobe.utils, в составе которого есть класс ProductManager, а так же метод MMEndCommand.
есть пакет authoring с единственным классов authObject. да-да, класс название класса начинается маленькой буквы, зато все его методы и свойства начинают с большой =)
а кто-нить слышал про класс UninitializedError? я нет. а он существует =)
честно говоря в пакете flash.sampler гораздо больше барахла, чем нам рассказывает дока. ну и не забудем загадочные пакеты flash.profiler, flash.debuger и flash.trace.
Всего комментариев 16

Комментарии

Старый 07.07.2010 15:14 Волгоградец вне форума
Волгоградец
 
Аватар для Волгоградец
Странно - ведь describeType у обжекта не выдает этих методов. Как ты узнал про них? Хотя describeType вообще как-то странно работает -например toString() не показывает... И еще static function init():void оказывается должен принимать праметр.
Старый 07.07.2010 15:40 BlooDHounD вне форума
BlooDHounD
 
Аватар для BlooDHounD
Волгоградец, ничего странного. describeType показывает только публичных членов.
всё это чудо вываливается по CTRL+SPACE, но ещё его можно посмотреть при помощи билдеровского просмоторщика свц.
Старый 07.07.2010 15:55 Волгоградец вне форума
Волгоградец
 
Аватар для Волгоградец
Да, точно - по CTRL+SPACE выдает. Но все равно describeType криво работает ). Строка
Код AS3:
trace(describeType(Object));
выдала мне всего-навсего hasOwnProperty, isPrototypeOf и propertyIsEnumerable. Все.
И по CTRL+SPACE показал, что init() есть, но без параметров. Хотя при использовании тэга [Mixin] этот метод требует ISystemManager в качестве параметра. Идиотизм, одним словом.
Старый 07.07.2010 18:15 BlooDHounD вне форума
BlooDHounD
 
Аватар для BlooDHounD
Волгоградец, повторяю: describeType показывает только публичных членов.
[Mixin] и ISystemManager - это флекс. причём тут он?
Старый 07.07.2010 18:33 Волгоградец вне форума
Волгоградец
 
Аватар для Волгоградец
Что значит только публичных членов? ToString() не публичный штоли?
[Mixin] и ISystemManager это флекс, ага. Это я к тому, что подсказка в билдере хоть и показала, что есть метод, но не показала сигнатуру.
Старый 07.07.2010 18:46 Nirth вне форума
Nirth
 
Аватар для Nirth
toString это метод назначающийся через прототип.
Старый 07.07.2010 18:47 Nirth вне форума
Nirth
 
Аватар для Nirth
реализующийся то есть
Старый 07.07.2010 18:56 BlooDHounD вне форума
BlooDHounD
 
Аватар для BlooDHounD
Волгоградец, какое отношение [Mixin] и ISystemManager флекса имеют классу Object из AS3 API? toString - это член прототипа класса, а не самого класса.
Старый 07.07.2010 18:57 Волгоградец вне форума
Волгоградец
 
Аватар для Волгоградец
Ну да, в хэлпе так и сказано. Однако метод propertyIsEnumerable (и пара других) методом describeType показывается.
BlooDHounD, забудь про [Mixin] и ISystemManager. Это было сказано к вопросу о том, откуда ты узнал про метод init(), который принадлежит Object'у, ведь он принимает ISystemManager в качестве параметра. А узнал я это использовав тэг [Mixin].
И вообще, вопрос про describeType() к теме блога не относится, я не хотел дискуссию развивать здесь, сори. Думал парой слов объяснишь.
Обновил(-а) Волгоградец 07.07.2010 в 19:03
Старый 07.07.2010 19:33 BlooDHounD вне форума
BlooDHounD
 
Аватар для BlooDHounD
Волгоградец, ну как можно про него забыть? ну нету у него параметра такого ) и быть не может.
Старый 07.07.2010 19:38 Волгоградец вне форума
Волгоградец
 
Аватар для Волгоградец
Ну ладно, раз нельзя забыть, тогда поехали... У кого нет такого параметра? У Object.init? У меня без передачи параметра кидает ошибку - опять же - при использовании этого самого [Mixin]. Отсюда делаем вывод, что init все-таки принимает параметр, однако он не обязательный. И по правде говоря он принимает все что угодно и не ругается, просто во флексе передают именно ISystemManager.
Старый 07.07.2010 19:47 BlooDHounD вне форума
BlooDHounD
 
Аватар для BlooDHounD
Волгоградец, а как Вы умудряетесь применять [Mixin] к Object?
Старый 07.07.2010 21:59 Волгоградец вне форума
Волгоградец
 
Аватар для Волгоградец
Я не к Object его применяю.
Старый 07.07.2010 22:32 BlooDHounD вне форума
BlooDHounD
 
Аватар для BlooDHounD
Волгоградец, гениально! а тогда какое это отношение имеет к Object?
Старый 08.07.2010 12:20 Волгоградец вне форума
Волгоградец
 
Аватар для Волгоградец
Я не понимаю тебя. Мои посты были скорее в форме вопроса. Если ты обладаешь знаниями про тэги, describeType'ы и пр., поделись. Если нет желания, то сори за беспокойство.
Старый 08.07.2010 13:37 BlooDHounD вне форума
BlooDHounD
 
Аватар для BlooDHounD
в формах вопроса обычно добавляют "?". а без них вас не понятно.
 

 


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


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