【问题标题】:Getting the compilation target language in haxe在 haxe 中获取编译目标语言
【发布时间】:2018-03-11 13:53:02
【问题描述】:

我知道,我可以做类似的事情

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!");

【问题讨论】:

    标签: haxe


    【解决方案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
    }
    

    【讨论】:

    • 感谢您提出“#error”功能。在这种情况下,此编译器功能确实非常有用...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-24
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-16
    相关资源
    最近更新 更多