Comments 8
Молодцы, жаль что пока поддержки haxe нету в планах… Там Enum куда мощнее. Может стоит в его сторону глянуть?
Хакси поддержки у нас не будет. Мы идем поралельными курсами. Мы не просто редактор, который поддерживает некий набор языков. Мы поддерживаем только один язык и его расширяем. И генерим в разные платфомы. Другие языки мы не сможем поддержать. Мы можем генерить хакси-код или же php, но это совсем другая история.
Я посмотрел энумы в хакси, ничео такого не нашел. Наши умеют то, что хакси не умеет. Краткая презентация например. Плюс у нас куча обвязок IDE, что в хакси в принципе нет ибо они не делают IDE.
Пример enum:
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.: Код приведен только в качестве примера.
Похоже у нас чуть другой подход — мы реализуем это через методы. Почти такой же функционал можно сделать через методы энумов и через параметры конструктора.
Миксины у нас будут. И для классов и для энумов.
Use — это немного из другой области. К энумам не относится. Вкусощина, но по мне конструкция вводит путаницу. Хотя на любителя. Добавить use можно легко, если кто попросит.
Only those users with full accounts are able to leave comments. Log in, please.