在Haxe中检测目标语言
Detect target language in Haxe
我想在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 Magic来实现这一点。例如:
#if java
untyped __java__("java.lang.System.out.println(toPrint);");
#elseif js
untyped __js__("alert(toPrint);");
#elseif ...
...
#end
甚至只使用跟踪。
class Test()
{
static function main()
{
#if java
var language = 'java';
#elseif js
var language = 'js';
#elseif cs
var language = 'csharp';
#elseif php
var language = 'PHP'
#elseif (flash||flash8)
var language = 'flash';
#elseif cpp
var language = 'c++';
#elseif neko
var language = 'neko';
#elseif tamarin
var language = 'tamarin';
#end
trace( language );
}
}
但需要注意的是,用于编译的hxml需要指定每个目标,理论上它是通用的,比如。。。
-java java
-main Test
--next
-js test.js
-main Test
--next
-cs cs
-main Test
--next
-php www
-main Test
--next
-swf test8.swf
-swf-version 8
-main Test
--next
-swf test.swf
-swf-version 9
-main Test
--next
-neko neko
--main Test
但在实践中,您可能希望添加其他编译器标志,甚至使用-cmd来实际运行示例。
开始一系列目标。。。
'http://haxe.org/doc/start/
条件编译
'http://haxe.org/ref/conditionals
编译器标志和选项,尽管我可能错过了一个链接。
'http://haxe.org/manual/tips_and_tricks'http://haxe.org/doc/compiler
然后目标魔术
'http://haxe.org/doc/advanced/magic
对于每个目标,您可以使用通用的haxeapi以及以目标命名的特定于目标的库
'http://haxe.org/api
我在Stackoverflow上的第一个回复很抱歉,如果有点冗长的话:)也是我不能发布正确链接的原因(限于两个)。
对不起,为什么要显示非类型化的方式?
你可以有一个完全键入和自动完成的代码
class Test() {
static function printStuff(toPrint) {
#if java
java.lang.System.out.println(toPrint);
#elseif js
js.Lib.alert(toPrint);
#elseif cpp
cpp.Lib.print(toPrint);
#end
}
}
相关文章:
- 防止Alt+Shift默认操作或检测多种操作系统语言的Javascript
- 在Haxe中检测目标语言
- 如何检测用户的语言并重定向到适合语言的网页
- 如何在检测浏览器语言的同时停止JavaScript的无限循环
- 检测谷歌网站翻译器的语言变化
- 如何检测移动设备中是否支持语言字体
- 如何检测用户's的语言
- 通过javascript中的字符串检测语言
- 使用Javascript(或任何其他语言)进行浏览器/选项卡关闭检测
- 检测用户的国家/地区和语言'的位置脱机
- 理解解释动态语言中的类型检测
- 如何检测客户端´s的计算机语言/或其他什么,以便自动更改网站中的语言
- 有没有一种方法可以检测当前的输入语言设置
- JS插件检测用户's浏览器、操作系统、语言、地理位置.
- 如何从字符串中检测编程语言
- CodeMirror-语言自动检测
- VIM可以检测同一文件上的多种语言
- 可变语言(浏览器语言检测)-在safari中不工作
- 浏览器语言检测:用户代理与window.navigator.language不一致
- 区域设置语言检测和翻译