|
|
|||||
Вообще жесть. по-моему все абсолютно не логично. и for и reverse работают с экземпляром одного и того же класса - Array, но один работает с ним как с объектом (Object), а другой работает как с массивом (Array). а вот методы push и unshift вообще работают по своему. и это считается нормально? А самое главное, я не понимаю, что заставило разработчиков AS2 так обойтись с массивом, почему for для массивов нельзя было перегрузить? Ведь кроме for нет других способов пройтись по элементам массива, в том случае, если они идут не подряд.
А есть какой-нибудь стандартный класс, который работает как... даже не знаю, как это назвать, как нормальный массив... ну или как сишный dequeue или queue. Где есть вставка в начало, конец, произвольный доступ к элементам и при этом перечисление происходит в одном и том же порядке? или это только в AS3? |
|
|||||
Ладно, прошу прощения за беспокойство. Я свою проблему уже давно решил, мне просто было интересно почем и как именно реализована работа с массивами во flash, чтобы не столкнуться с ней в будущем. Большое спасибо за помощь.
|
|
|||||
Modus ponens
|
Object.__resolve() вас спасет, перехватываете обращение к свойству - и отдаете какое угодно значение. Типа такого
ЗЫ. Класс должен быть динамическим, и не наследоваться от массива - а то цифровые значения в ресолв не попадут.
__________________
Hell is the possibility of sanity |
|
|||||
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
|
Да не работаете вы с массивом в данном случаи Вы работаете с объектом, отсюда и модель другая.
Любую еду можно есть ложкой (проверено двумя годами на камбузе ), а можно вилкой, но не любую. И способ использования у них не всегда совпадает, вилкой можно прокалывать макароны, а ложкой не получится. Вот вы сейчас пытаетесь именно это сделать |
Часовой пояс GMT +4, время: 03:59. |
|
« Предыдущая тема | Следующая тема » |
|
|