我想检测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 compilation和Haxe Magic一起使用来实现此目的。例如:
#if java
untyped __java__("java.lang.System.out.println(toPrint);");
#elseif js
untyped __js__("alert(toPrint);");
#elseif ...
...
#end