在haxe中获取编译目标语言

Getting the compilation target language in 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 子句以便 "support/detect" 该语言 ...

所以我想知道,是否有某种预定义的 macro/function,即 returns 目标语言为字符串:

trace("This is a " + getTargetLanguage() + " program!");

我认为不存在这样的事情。

为了确保 getTarget() 在添加新目标(并且您正在为其编译)时不会无声地中断,您可以让它在这种情况下抛出编译器错误:

public static function getTarget():String {
    #if flash
    return "Flash";
    #elseif java
    return "Java";
    //... some more elseif clauses ...
    #else
    #error "Missing target name"
    #end
}