Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Array -> Vector, Object -> ? (http://www.flasher.ru/forum/showthread.php?t=171500)

BuKT 17.11.2011 09:19

Array -> Vector, Object -> ?
 
Есть что-то нативное сабжу? Интересует типизированный неплотный ассоциативный массив. Своё написать можно, конечно, но сначала хотелось бы насчёт встроенного поинтересоваться

goodguy 17.11.2011 09:22

Встроенного нет.
В АС3 вообще типизирован только вектор. Прийдется писать свой. Хотя я не понимаю, зачем это нужно.

gloomyBrain 17.11.2011 12:13

Ассоциативный массив - это всегда HashTable. Плотным он быть и не может в принципе. Типизированный написать тоже вряд ли выйдет, либо делать всегда тип данных Object, либо писать на haxe, там есть generic-типы, но на самом деле это просто генерация нужных классов в compile-time по шаблону. А все потому, что generic'ов в AS3 нету

goodguy 17.11.2011 12:41

Цитата:

Типизированный написать тоже вряд ли выйдет
Можно псевдо типизированный сделать. В функции добавления, типа push проверять тип данных на соответствие с заданным.

alatar 17.11.2011 12:59

Цитата:

Типизированный написать тоже вряд ли выйдет, либо делать всегда тип данных Object
Ничто не препятствует написать собственный типизированный хэш. Просто работать он будет только с одним любым типом.

gloomyBrain 17.11.2011 13:16

Ну я имел в виду, что написать
Код AS3:

var hash:Hash = new Hash<String, Sprite>()

Не получится. Либо надо использовать темплейты (haxe), либо писать свой класс под каждый тип (неудобно). Поэтому лучше указать Object и проверять при добавлении/удалении, если это требуется. Но по сути типизацией это не будет, вернее будет на уровне рантайма, а не на уровне байт-кода

etc 17.11.2011 13:24

flash_proxy

alatar 17.11.2011 13:32

Цитата:

Ну я имел в виду, что написать... Не получится.
В Realaxy получится )

strangedk 17.11.2011 17:39

Цитата:

Сообщение от alatar (Сообщение 1046647)
В Realaxy получится )

Не вижу ничего хорошего в поддержке определенной фичи конкретной средой разработки..

alatar 17.11.2011 17:43

Если не предполагается доработка вне отдельной компании, то без разницы. Использование haXe для разработки чисто под флеш из той же оперы.


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

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