Архів для Листопад 26, 2007

Загадка про String.replace()

понеділок, Листопад 26, 2007

Загадка від Олега (він же a_[w]):

var str:String = "vvv.blog.pirrest.com";
trace(str.replace("v", "w"));

Як Ви вважаєте що буде в output?

Далі відповідь

(more…)

Прискорення getDefinitionByName(getQualifiedClassName(obj))

понеділок, Листопад 26, 2007

Якщо Ви використовуєте цей вираз:
getDefinitionByName(getQualifiedClassName(obj));

то, для прискорення виконання коду використовуйте слідуючу функцію:

import flash.utils.Proxy;
import flash.utils.getQualifiedClassName;
import flash.utils.getDefinitionByName;
import flash.system.ApplicationDomain;
function getClassDefinition(any:*):Class
{
	var cls:Object = null;
	if(any is Proxy){
		cls = getDefinitionByName(getQualifiedClassName(any));
	} else if(any is String && ApplicationDomain.currentDomain.hasDefinition(any)){
		cls = getDefinitionByName(any);
	} else{
		cls = Object(any).constructor;
	}
	return cls as Class;
}

Приріст швидкості більш ніж в 6 разів ( якщо !(any is Proxy) ).

Дякую Олегові (він же a_[w]) за знайдену швидкісну блоху :)

Далі тест на швидкість

(more…)