Как можно перечислить теги рефератов для получения списка пар значений ключа?Iterate enum abstracts in Haxe
Пример:
@:enum
abstract ExampleEnumAbstract(UInt) {
public var value1 = 0x0;
public var value2 = 0x1;
public var value3 = 0x2;
}
Для экземпляров перечислений, это может быть достигнуто, например, как:
enum ExampleEnum {
Value1;
Value2;
Value3;
}
for(value in Type.allEnums(ExampleEnum))
trace(value);
}
Не уверен, что это лучший подход - я могу получить ключи; Однако, я не смог получить значения, как в:
var keys:Array<String> = Type.getClassFields(ExampleEnumAbstract)
for (key in keys) {
trace(key + " = " + ExampleEnumAbstract[key]);
}
Попытка получить значение таким образом дает компиляции ошибки времени:
String should be Int
Array access is not allowed onClass<ExampleEnumAbstract.ExampleEnumAbstract_Impl_>
В конечном счете map
ключевых пар значений будет идеальным.
Лучшим примером Int Enum было бы [Haxe документация по рефератам Enum] (http://haxe.org/manual/types-abstract-enum.html), ссылаясь на коды HttpStatus. Оператор квадратной скобки на классе был просто примером. –