在haxe中获取编译目标语言

时间:2018-03-11 13:53:03

标签: 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 个答案:

答案 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
}