Pull to refresh

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 можно легко, если кто попросит.
Понял, спасибо, только не use, а using. Вещь довольно хитрая.
точно, using.
имеется ввиду поведение как с#?
Sign up to leave a comment.

Articles