我想检测Haxe中的目标语言,以便可以根据Haxe编译成的语言来更改函数的行为。

类似Haxe的伪代码示例:

class Test() {
static function printStuff(toPrint) {
    if (the target language is Java) {
        System.out.println(toPrint);
    } else if (the target language is C++) {
        cout << toPrint;
    } else if (the target language is JavaScript) {
        alert(toPrint);
    }

}
}

目前是否可以在Haxe中实现这一目标?

最佳答案

您可以将conditional compilationHaxe Magic一起使用来实现此目的。例如:

#if java
    untyped __java__("java.lang.System.out.println(toPrint);");
#elseif js
    untyped __js__("alert(toPrint);");
#elseif ...
    ...
#end

10-08 20:08