2.5. Анонимные структуры

Ссылка на источник.
Анонимные структуры — используются для объединения данных без явного создания типа. В примере, написанном ниже, создается структура с двумя полями x и name, которые получают значения «12» и «foo» соответственно:

Общие правила синтаксиса:

  1. Структура заключается в фигурные скобки {};
  2. Пары ключ-значение разделяются запятой;
  3. Между ключом и значением ставится двоеточие;
  4. Значением может быть любое выражение на языке Haxe.

Четвертое правило говорит о том, что структуры могут быть вложенными и сложными, например:

Поля структур могут быть получены, как и классы, используя точку (.), как в примере ниже:

Также для вывода всех полей анонимной структуры, может быть использовано Reflection:

Вот что будет выведено:
name => Butterfly version => 0.3

Стоит отметить, что использование анонимных структур не подрывает, существующую в Haxe, систему типизации. Компилятор гарантирует, что доступны только существующие поля. Это означает что следующая программа не будет скомпилирована.

Полученная ошибка свидетельствует о том, что компилятор знает как был объявлен тип point : это структура с полями x и y типа Float. Поскольку поля z не существует, то доступ будет запрещен. Тип point известен благодаря определению типов. Именно ему мы должны сказать спасибо за то, что у нас нет необходимости каждый раз явно определять типы. Однако, если   point является полем, то явное определение типов обязательно:

Что бы избежать лишнего декларирования типов, особенно для более сложных структур, советуют использовать typedef: