ืืฉืคื ืืื
ืชืืืืจ Haxe ืงืจืื ื-ECMAScript ื
ืืืื ืืืืชื {
ืคืื ืงืฆืื ืกืืืืช main() {
var people = [
"Elizabeth" => "ืชืื ืืช",
"ื'ืืื" => "ืขืืฆืื"
];
for (ืฉื ื-people.keys()) {
var job = ืื ืฉืื[ืฉื];
trace('$name ืขืืฉื $ืขืืืื ืืืืืืชื!');
}
}
}
ืืขืืงืจื
- ืชืืืืจ ืืืฉ ืืฆืืื ืกืื ืืคืื ืงืฆืื "(name:String, age:Int)->Bool" ืื "(String, Int)->Bool" ืืืงืื "String->Int->Bool".
- ืชืืืืจ ืคืื ืงืฆืืืช ืืืฅ ืืื "(a, b) -> a + b" ืืืงืื "function(a, b) return a + b".
- ืืื ื ืืคื ื ืืขืืืช ืืงืฉืืจืืช ืืฉืืืืฉ ืืขืจืื Null (ืชืืื ื ื ืกืืื ืืช, ืืืคืขืืช ืืืืคื ืืืคืฆืืื ืื ืขืืืจ ืฉืืืช, ืืืืงืืช ืื ืืืืืืช ืืกืืืืืช).
- ืืืืช ืืืคืชื "ืกืืคืืช" ืืืืขืืช ืืฉืืืช ืืืืงื ืืืฉืชื ืื ืืงืืืืื ืฉืืื ื ื ืืชื ืื ืืฉืื ืื. ื ืืชื ืืืฉืชืืฉ ื-"final" ืื ืืื ืืืืืืจ ืคืื ืงืฆืืืช ืืื ืืื ืืข ืืื ืืขืืืจ ืืืจืืฉื ืืืืืืงืืช/ืืืฉืงืื ืฉืื ื ืืชื ืืืืจืฉืช.
-
ืชืืืื ืชืงื Unicode ืืกืื ืืืกืืก "ืืืจืืืช" ืืื ืืขืื ืืืืืืจ ืืืื Neko. - ืืชืืจืืื ืืืื ื ืฉื ืืชื ืืืืฉ ืืืคืก, ืฉืืืืข ืืขืช ืชืืช ืืฉื
ืืขืจืื . ืืืืืช ืืืชืืจืืื ืืืืฉ, ืกืงืจืืคืืื ืืคืงืืืืช ืืืงืจื ืคืืขืืืช ืืจืื ืืืชืจ ืืืจ. ืืฆื ื ืืคืื ืืืืื ืืื ืืจืืงืืืื ื ืชืื. - ืืขืจืืช ืืขื ืืืฉื ืืืืืืจ (ืืืจื)
ืืืฉืืื ืง - ืืื ืจืืฆื ืืขื ืืืฆืืขืื ืืืืืื ืฉืชืืื ื ืืืืืื ืขืืืจ Haxe, ืืชืืื ืืืืืืจ ื-bytecode ืขืืืจ JIT ืื C, ืืขื ืืื ืืืจืฆืื ืงืื ืขื C, ืืื ืื ืืืฉื ืืกืืืื ืืืฆืืืขืื ืืกืคืจืืื ืืจืื ื ืืืื. - ืืขื JVM ืืืฉ - ืืืคืฉืจ ืืืฆืืจ jvm bytecode ืขื ืืื ืืืืื ืขื ืฉืื ืืืืืจ ืงืื Java ืขื ืืื ืืืกืคืช ืืื "-D jvm" ืืขืช ืืืงืื ื-Java.
- ืืืืืืช ืืคืจืืก ืืชืื ืฉืืจื ืื ืงืืืช ืงืจืืื ืืคืื ืงืฆืืืช ืื ืื ืืื, ืื ืื ืื ืื ืืืืจืืื ืืืืื.
- ืืคืฉืจืืช ืืืืื
ืืจืืืืช ืกืืืืืช ืืืฉืจ ืืืจืืืื ืขื ืกืื (ืืืื "enum") ืืืืฆืขืืช "@:using(path.ToExtension)". - ืกืืืื ืืืคืฉืืื ืชืืืืื ืืขืช ืืืจืกืช "ืกื" ืฉื ืืืืคืจืืืจ "@:op(a.b)" ืืืขืื ื ืืืืฉ ืฉื ืืืืืื "obj.foo = bar".
- ืชืืืืจ ืืืืืื "for" ืชืืื ืืขืช ืืืืืจืฆืื ืฉื ืืคืชื-ืขืจื: "for (key => value in collection) {}".
- ืชืืืื ืืฉืืืืฉ ืืกืืืื ืืืื xml ืืืืืืืื: "var a = โนhi/โบ;". ืืขืช ืขืชื, ืชืืื ื ืื ืืืื ื ืจืง ืื ืืชืื ืขื ืคืงืืืืช ืืืงืจื ืืืื ืืฉืื ืืชืื ืื.
- ืืชืืืืจ ืขืืืจ ืฉืืืช ืืืคืฆืืื ืืืื ืืกืืืื "ืืื" ืฉื ืกืืื ืืื ื ืื ืื ืืืืื ืืื: "{ var ?f:Int; }" (ืืืืคื ืืงืฆืจ "{ ?f:Int }").
- ืขืจืื Enum ืืืืืื ืืขืช ืืืืืช ืขืจืื ืืจืืจืช ืืืื ืขืืืจ ืืจืืืื ืืื ืฉื ืคืื ืงืฆืื: "ืคืื ืงืฆืื fooโนTโบ(Option:OptionโนTโบ = None)".
- ืืชืืืืจ "ืฉื ืืืกืืจืงืื ืฉื enum(BasicType) {}" ืืื ื ืืืจืฉ ืขืื ืืช ืืงืืืืืช "@:" ื-"enum".
- ืืกืคืืจ ืืืืืืื ืขืืืจ ืกืคืืจืืช ืืืคืฉืืืช:
enum abstract Foo(Int) {
var A; // 0
var B; // 1
}
enum abstract Bar(String) {
var A; // "ื"
var B; // "B"
} - ืืืืช ืืืคืชื "ืืืฆืื ืืช" ืืื ื ืืืจืฉืช ืขืื ืฉืืืืฉ ืืงืืืืืช "@:".
- ืืกืจื ืืช ืืืคืฉืจืืช "ืืืืฉืืื ืืื ืื" ืืืืฉื ืืฉืืืช ืืืืงื ืืืืฆืขืืช ืืืจืืืืช. ืืืื ืขืืืจ ืฉืืขืืจืื ืืืฆืื ืืื ืื ืืืืฆืขืืช ืืืฉืื ืขื ืืื ืกืื ืืืคืฉื.
- ื ืืกืฃ ืชืืืืจ "A & B" ืขืืืจ ืฆืืืช ืกืื, ืฉืื ืืจืืข ืจืง ืขื ืืื ืื ืื ืื ืืืืื ืืืืืืืช ืคืจืืืจืื ืฉื ืกืื. ืชืืืืจ ืืืืืืฅ ืืืฉื ืืืกืจ.
- ืืฆืืจืช ืืืคืขื "ืืคื" ืจืืงืื ืืืื ื ืืืืฆืขืืช ืืชืืืืจ "var map:MapโนInt, Stringโบ = [];" ืืืื ืืืขืจื.
- ื ืืกืฃ ืืื ื ื ืชืื ืื "haxe.ds.ReadOnlyArray".
- ืืื ื ืชืื ืื ืืืืืื ืืขืช ืืืืื ืืจืืื ืฉืืืช ("@:prefix.name function() {...}"). ืืืืื ืืืืืจืืช: "#if (some.flag ... #end".
- ืคืจืืืืงืื ืฉืืจืืช ืืืฉ ืขืืืจ IDEs ืืฉืืืืฉ ื
ืชืืกืฃ ืขืืืจ VSCode . - ืืืืจืืช ืืืฆืื ืืืช ืืขืืืื ืืช (ืืืฆืื ืืืช) ืขืืืจ ืืืฉืงื API ืฉื ืืื ืืจื ื ืื ืืกืคื ืืกืจืื.
ืืงืืจ: OpenNet.ru