我知道,我可以做点什么
public static function getTarget():String {
#if flash
return "Flash";
#elseif java
return "Java";
//... some more elseif clauses ...
#end
}
Run Code Online (Sandbox Code Playgroud)
为了检测haxe中的目标语言(请参阅http://old.haxe.org/doc/snip/gettarget).然而,每当社区添加新的目标编程语言(好吧,这不是那么频繁)时 - 我需要添加另一个elseif子句以"支持/检测"该语言......
所以我想知道,如果有某种预定义的宏/函数,它将目标语言作为字符串返回:
trace("This is a " + getTargetLanguage() + " program!");
Run Code Online (Sandbox Code Playgroud)
我不认为这样的事情存在.
为了确保getTarget()在添加新目标时没有静默地中断(并且你正在编译它),你可以在这种情况下抛出编译器错误:
public static function getTarget():String {
#if flash
return "Flash";
#elseif java
return "Java";
//... some more elseif clauses ...
#else
#error "Missing target name"
#end
}
Run Code Online (Sandbox Code Playgroud)