TypedDictionary вместо Dictionary

Портируя одну библиотеку с AS3 на haXe, пришел к выводу, что в последнем вместо класса flash.utils.Dictionary стоит использовать flash.utils.TypedDictionary, в первую очередь из-за того, что в haXe только типизированный словарь реализует Iterator, т.е. его элементы можно перебрать в цикле типа for (i in dict).

отличаться будут объявление и создание экземпляра. примерно так:

var dict :TypedDictionary<Dynamic, Dynamic> ; // объявление
dict = new TypedDictionary<Dynamic, Dynamic>(true); // создание

если компилятор будет ругаться, что словарю нужен Int ( ... should be Int ) при присвоении, можно обойти это, используя cast:
dict[cast myObject] = ... ;

полезные ссылки по теме:
- старенькая статья Гранта Скиннера про Dictionary в AS3
- топик про перебор Dictionary на форуме haxe.org
- выдержка из листа рассылки по теме
- документация класса TypedDictionary

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <blockcode> <dd>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>.

Подробнее о форматировании

CAPTCHA
Этот вопрос помогает предотвратить автоматический спам
Image CAPTCHA
Enter the characters shown in the image without spaces, also respect upper and lower case.
To prevent automated spam submissions leave this field empty.