Flash Ripper RSS Readers

XMLNode.prototype.__resolve (Iv)

Статья "Введение в ActionScript 2.0 для пользователей ActionScript 1.0: Часть Третья" ("Наследование и интерфейсы") находится в процессе перевода и на днях будет выложена на сайте Ф. Потрошителя.

А пока предлагаем вам насладиться красотой. Вот цитата (по материалам конференции "ruFlash"):

"я это еще нигде не публиковал... только сегодня приснилось:

Народ постоянно парится по поводу перевода XML в массивы и прочая.
- Нифига это не нужно. Достаточно добавить две строчки кода и на тебе, обращайся к узлам XML как к элементам массива!!!

XMLNode.prototype.__resolve = function(d) {
if (typeof (Number(d)) == "number") return this.childNodes[d]
};
// TEST
my_xml = new XML("text");
trace(my_xml[0]);
trace(my_xml[0][0]);
trace(my_xml[0][0][0]);
trace(my_xml[0][0][1]);

- последняя версия находится здесь: http://proto.layer51.com/d.aspx?f=1075


Ivan Dembicki

Писал Rost, 23 Сентябрь 2003 13:40

Найдены баги:

Ив, ты самый большой изобретатель велосипедов.. :))
Может я что-то не вкурил?

Для чего по-твоему в nod'ах есть метод childNode ?
прямое обращение работает на ~ 250% быстре!!
К чему нужно стремится, как не к быстродействию.

=== Бенчмарк: ======

XMLNode.prototype.__resolve = function(d) {
if (typeof (Number(d)) == "number") return this.childNodes[d]
};
my_xml = new XML('');

// A
function A () {
var i = 0;
do {
var node1 = my_xml[0];
var node2 = my_xml[0][0];
var node3 = my_xml[0][0][0];
var node4 = my_xml[0][0][1];
} while (i++ }

// B
function B(){
var i = 0;
do {
var node1 = my_xml.childNodes[0];
var node2 = my_xml.childNodes[0].childNodes[0];
var node3 = my_xml.childNodes[0].childNodes[0].childNodes[0];
var node4 = my_xml.childNodes[0].childNodes[0].childNodes[1];
} while (i++ }


=== Результат: ======

MSA Benchmark version 1.1
Flash version WIN 6,0,4,0

Benchmark: 10 iterations of A B ...
min(ms) max(ms) average(ms) total(ms) rate
A 437 441 439 4390 @ 2.278/s (n=10)
B 123 126 125 1246 @ 8.026/s (n=10)

rate B A
B 8.026/s --- 252.33%
A 2.278/s -71.62% ---

MSA - 23 Сентябрь 2003 14:29

Читаем Help
XML.childNodes returns an array of the specified XML object's children. Each element in the array is a reference to an XML object that represents a child node.
XML.childNodes - массив ссылок на дочерние для данного узла.

Получается не nodes2array, a array2array. Зачем?

realSugar - 23 Сентябрь 2003 20:50

А где можно про __resolve почитать?

stormit - 25 Сентябрь 2003 13:42



Это запись из категории 'Coding'. 10 еще cвежих:

Архивы по категориям:

3D-18, Adobe AIR-30, Animation-1, Apache Ant-1, Architecture-1, ARP-1, Art-25, Articles-26, AS3-52, Books-7, Business-3, Cairngorm-2, CI-1, Classes-10, Coding-30, Community-113, Components-19, Contests-28, Cool-Job-5, Debug-18, Design-26, Development-84, EMO-1, Events-13, Extensions-2, FAQ-8, FDS-1, Flash and html-5, Flash Player-35, Flash Updates-8, Flash-scene-1, flash10-4, FlashLite-2, Flex-30, Flex 2-80, Flickr-1, FMS-1, FPUG-46, frameworks-1, Games-11, Good Job!-35, HaXe-14, Health-2, Humor-10, Ideas-13, JavaScript-1, Job-26, JSFL-8, Links-2, Linux-1, Maps-1, Math-8, Money-11, MXML-1, Open Source-15, Optimization-2, Patterns-2, Personalities-27, Politics-1, Preloading-3, Productivity-9, PureMVC-10, Pv3d-1, Rafpug-4, Red5-3, Remoting-11, Resources-21, Ruby-6, SAAS-1, Security-11, SEO-8, Silverlight-5, Sound-3, Strategy-120, Tamarin-1, Tools-113, Training-2, Trash-8, URAFPUG-13, Urgent-1, Usability-6, Video-6, VoIP-5, Wallop-1, Wishlist-2, Архив всех записей (большой)

За последние месяцы:

Июл 2008: Международная встреча разработчиков URAFPUG завершена, URAFPUG - трансляция студии Flex-фреймворка Mate, весь Июл

Июн 2008: Попытка предварительных выводов о встрече аниматоров, Онлайн трансляция встречи аниматоров в Донецке, весь Июн

Май 2008: Если 3D, то по-взрослому: официальный запрос в Adobe по поводу контроля над мип-маппингом. Нужна ваша поддержка!, В этом году «Russian Flash Awards» пройдет в «космическом стиле», весь Май

Апр 2008: Программирование под флэш платформу. Cтатья (местами спорная), Advanced Flash Components бесплатно раздает все свои AS2-компоненты, весь Апр

Мар 2008: Зарплаты программистов в 2007 году, FlashPhone как технология года? Технология года? В Рунете?, весь Мар

Фев 2008: ЙА ФПУГ — регистрация на первую встречу UAFPUG продолжается, Закулисы Flex и секрет успеха опенсорс-проекта, весь Фев





Примечания:
Статус документа
: в процессе
   2002-2007 Производство: Рост Прибыли · О проекте · Подписка на новости (RSS)