![]() |
|
||||||||||
|
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
iNils, экстремальный класс
![]() Что будем делать, если положим туда какой-нибудь сложный объект? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
![]() Ладно, я придираюсь ![]() |
|
|||||
|
Modus ponens
|
class Array2 extends Array {
private var __len:Number = null;
function Array2 () {
super ();
__len = 0;
}
function addItem (o:Object):Void {
o.__uniqueID = '_'+__len;
o.toString = function():String {
return this.__uniqueID;
}
this[o] = o;
__len++;
}
function removeItem (o:Object):Void {
delete this[o];
__len--;
}
public function get length ():Number {
return __len;
}
}
![]()
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 05.03.2008 в 17:48. |
|
|||||
|
Modus ponens
|
Волгоградец: Object - динамический класс, ему можно так задавать свойства.
iNils: при определенном желании можно создать 2+ клипов с одинаковыми полными именами %) Ну, с одной стороны - да... туСтринг отправится на пенсию... ну есть другой вариант позамороченнее... class Array2 extends Array {
private var __len:Number = null;
private static var __finit:Function = function():Void {
Array2.prototype.__resolve = function(p){
if(p.__uniqueID != undefined){
return p;
} else {
return undefined;
}
}
__init = true;
}
private static var __init:Boolean = false;
function Array2 () {
super ();
__len = 0;
if(!__init){
__finit();
}
}
function addItem (o:Object):Void {
o.__uniqueID = '_'+__len;
this[o] = o;
__len++;
}
function removeItem (o:Object):Void {
if(this[o] != undefined){
delete this[o];
__len--;
}
}
public function get length ():Number {
return __len;
}
}
Ндя... ну ток еще нужно будет для каждого инстанса этого класса уникальный ИД создавать, а то можно случайно "удалить" из него объэкт, который ему вообще-то и не пренадлежит %)
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 05.03.2008 в 19:30. |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:58. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|