Комментарии 8
Молодцы, жаль что пока поддержки haxe нету в планах… Там Enum куда мощнее. Может стоит в его сторону глянуть?
0
А что там энумы делают?
0
Хакси поддержки у нас не будет. Мы идем поралельными курсами. Мы не просто редактор, который поддерживает некий набор языков. Мы поддерживаем только один язык и его расширяем. И генерим в разные платфомы. Другие языки мы не сможем поддержать. Мы можем генерить хакси-код или же php, но это совсем другая история.
0
Я посмотрел энумы в хакси, ничео такого не нашел. Наши умеют то, что хакси не умеет. Краткая презентация например. Плюс у нас куча обвязок IDE, что в хакси в принципе нет ибо они не делают IDE.
0
Пример enum:
Пример switch а на нем:
Благодаря enum в haxe я могу передавать Item.CString('hhhh') или Item.CInt(10) аргументом в функцию/метод, а само значение получать уже благодаря switch. Более того, благодаря using(примеси, вроде так они называются) я могу добавлять свой методы в созданный enum. Судя по видео — я увидел в realaxy только часть из всего этого. Я ни в коем случае не критикую, просто высказываю идеи по улучшению.
P.S.: Код приведен только в качестве примера.
private enum Item {
CString(s:String);
CInt(i:Int);
CUInt(i:UInt);
CInt64(i:Float);
CUInt64(i:Float);
CBytes(b:ByteArray);
CFiller(count:UInt);
}
Пример switch а на нем:
switch(_current[0]) {
case CUInt64:
_readed.push(CUInt64(_conn.readUnsignedInt64()));
case CBytes(length):
var bytes = new ByteArray();
_conn.readBytes(bytes, 0, length);
_readed.push(CBytes(bytes));
case CFiller(length):
var bytes = new ByteArray();
_conn.readBytes(bytes, 0, length);
case CUTFBytes(length):
_readed.push(CString(_conn.readUTFBytes(length)));
case CLcb:
var l = parseLcb();
if (l == null || l > -1)
_readed.push(CUInt64(l));
else
doShift = false;
}
Благодаря enum в haxe я могу передавать Item.CString('hhhh') или Item.CInt(10) аргументом в функцию/метод, а само значение получать уже благодаря switch. Более того, благодаря using(примеси, вроде так они называются) я могу добавлять свой методы в созданный enum. Судя по видео — я увидел в realaxy только часть из всего этого. Я ни в коем случае не критикую, просто высказываю идеи по улучшению.
P.S.: Код приведен только в качестве примера.
0
Похоже у нас чуть другой подход — мы реализуем это через методы. Почти такой же функционал можно сделать через методы энумов и через параметры конструктора.
Миксины у нас будут. И для классов и для энумов.
Use — это немного из другой области. К энумам не относится. Вкусощина, но по мне конструкция вводит путаницу. Хотя на любителя. Добавить use можно легко, если кто попросит.
Миксины у нас будут. И для классов и для энумов.
Use — это немного из другой области. К энумам не относится. Вкусощина, но по мне конструкция вводит путаницу. Хотя на любителя. Добавить use можно легко, если кто попросит.
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Язык Enums для AS3 и JavaScript