文件
Test.hx
B.hx
build.hxml
// Test.hx
// Test.hx
class Test
{
static public function main()
{
// var a:Int = 1;
// var b:Int = 1;
// var name:String = "work";
// var array:Array<Dynamic> = [1,2,3];
// var obj:Dynamic = {};
// var fl:Float = 3.14;// 建议类型后置
// trace(fl);
// trace(name);
// trace(obj);
// trace(array);
// trace( a + b );
// trace("hello world");
var b:B = new B();
b.call();
C.call();
var d:D = new D();
d.print();
}
}
// def a class
class C
{
public static function call():Void
{
trace("call a static function from C class");
}
public function print():Void
{
trace("this is a C class print ");
}
}
class D extends C
{
// 注意静态的没有继承下来
public function new()
{
}
override function print()
{
trace("this is a D class print");
}
}
// B.hx
class B
{
public function new()
{
}
public function call()
{
trace("calling B class");
}
}
// build.hxml
--main Test
# --js bin/main.js # 一次使用一个任务,使用haxe build.hxml
# --python bin/main.py
# --java bin/main.jar
--interp
// del Test.hx and rename Main.hx
class Main
{
public static function main()// 让main函数static
{
// for loop
for (i in 1...10)
{
trace("tell: ",i);
}
// 不能这么做,for里不能做i++的事
// for (var i = 1; i < 10; i++)
// {
// trace(i);
// }
// 这样有点恶心,不会污染吗??
var i = 0;
while(i < 10)
{
trace(i);
i++;
}
if(1 + 11 == 2) // 在条件里测试
{
trace("you are right");
}
else if(1 + 2 != 2) // test right here
{
trace("fuck");
}
// 泛型
var data:Dynamic = {
key:"value of key"
};
trace(data.key);
// 反射获取data的key对应的值
trace(Reflect.getProperty(data,"key"));
// haxe 学语法没什么意思,学怎么做haxe的项目吧
}
}