我知道,我可以做类似
的事情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!");
答案 0 :(得分:7)
我不认为存在这样的事情。
为了确保getTarget()
在添加新目标时没有静默地中断(并且你正在编译它),在这种情况下你可能会抛出编译器错误:
public static function getTarget():String {
#if flash
return "Flash";
#elseif java
return "Java";
//... some more elseif clauses ...
#else
#error "Missing target name"
#end
}