Получение целевого языка компиляции в haxe
Я знаю, я могу сделать что-то вроде
public static function getTarget():String {
#if flash
return "Flash";
#elseif java
return "Java";
//... some more elseif clauses ...
#end
}
Для определения целевого языка в haxe (см. http://old.haxe.org/doc/snip/gettarget ). однако всякий раз, когда сообщество добавляет новый целевой язык программирования (ок, это не так часто), мне нужно будет добавить еще одно предложение elseif, чтобы "поддерживать/обнаруживать" этот язык ...
Поэтому мне было интересно, есть ли какой-то предопределенный макрос / функция, которая возвращает целевой язык как строка:
trace("This is a " + getTargetLanguage() + " program!");
1 ответ:
Я не думаю, что такая вещь существует. Чтобы убедиться, что
getTarget()
не прерывается молча при добавлении нового целевого объекта (и вы компилируете для него), вы можете заставить его выдать ошибку компилятора в этом случае:public static function getTarget():String { #if flash return "Flash"; #elseif java return "Java"; //... some more elseif clauses ... #else #error "Missing target name" #end }