Ulimi
I-syntax ye-Haxe iseduze ne-ECMAScript futhi
Ukuhlolwa kwekilasi {
umsebenzi omile main() {
abantu = [
"Elizabeth" => "Ukuhlela",
"Joel" => "Idizayini"
];
ngoba (igama kubantu.keys()) {
var job = people[igama];
trace('igama le-$ lenza umsebenzi wokuziphilisa!');
}
}
}
main
- I-syntax entsha yokucacisa uhlobo lomsebenzi "(igama:Uchungechunge, ubudala:Int)->I-Bool" noma "(Uchungechunge, Int)->I-Bool" esikhundleni sokuthi "String->Int->Bool".
- I-syntax yomsebenzi womcibisholo ithi "(a, b) -> a + b" esikhundleni sokuthi "umsebenzi(a, b) buyisela u-+b".
- Ukuvikelwa ezinkingeni ezihlobene nokusetshenziswa kwamanani we-Null (isici sokuhlola, esinikwe amandla ngokuzithandela kwezinye izinkambu, amakilasi noma amaphakheji).
- Igama elingukhiye "lokugcina" lingelezinkambu zekilasi neziguquguqukayo zendawo ezingaguquleki. "okugcina" kungase futhi kusetshenziselwe ukuchaza imisebenzi ukuze kuvinjwe ukuthi ingachithwa ifa kanye nezigaba/izixhumi ezibonakalayo ezingenakuzuza njengefa.
-
ukweseka Izinga le-Unicode lohlobo oluyisisekelo elithi "String" kukho konke okuqondiwe kokuhlanganiswa ngaphandle kwe-Neko. - Umhumushi owakhelwe ngaphakathi ubhalwe kabusha kusukela ekuqaleni, manje oseza ngaphansi kwegama
Linganisa . Ngenxa yotolika omusha, imibhalo namamakhro agijima ngokushesha okukhulu. Imodi yokulungisa iphutha esebenzayo iyasekelwa. - Isistimu entsha eqondiwe yokuhlanganiswa (okuhlosiwe)
I-Hashlink - isikhathi sokusebenza esisebenza kahle kakhulu esiklanyelwe ngokuqondile i-Haxe, esekela ukuhlanganiswa kwe-bytecode ye-JIT noma i-C, sinokuhlanganisa okulula no-C, kanye nokufinyelela ezinhlotsheni zezinombolo ezisezingeni eliphansi nezikhombi. - Ithagethi entsha ye-JVM - ikuvumela ukuthi ukhiqize i-jvm bytecode ngokweqa isinyathelo sokuhlanganiswa kwekhodi ye-Java ngokungeza ifulegi elithi "-D jvm" lapho uqondise ku-Java.
- Amandla okusebenzisa emgqeni endaweni yokubiza imisebenzi noma abakhi, noma ngabe kungashiwongo kanjalo.
- Amathuba okufakwa
izandiso ezimile lapho umemezela uhlobo (olufana ne-"enum") usebenzisa "@:using(path.ToExtension)". - Izinhlobo ezingabonakali manje zisekela inguqulo ethi "set" ye-opharetha ethi "@:op(ab)" ukuze ilayishe kabusha izinkulumo ze-"obj.foo = bar".
- I-loop syntax ethi "for" manje isekela ukuphindaphinda kwenani elingukhiye: "for (key => value in collection) {}".
- Usekelo lokusebenzisa imakhaphu efana ne-xml kuzinkulumo: “var a = ‹hi/›;”. Okwamanje, lesi sici sitholakala kuphela ekuhlukaniseni ngama-macros futhi sisezingeni lokuklama.
- I-syntax yezinkambu ozikhethela yona ekuphawulweni “okugcwele” kwezinhlobo zesakhiwo esingaziwa ithi: “{ var ?f:Int; }" (okunye okufushane "{ ?f:Int }").
- Amanani e-Enum manje angaba amanani azenzakalelayo ama-agumenti omsebenzi: "function foo‹T›(option:Option‹T› = None)".
- I-syntax ethi "enum abstract Name(BasicType) {}" ayisadingi isiqalo esithi "@:" ku-"enum".
- Ukufaka izinombolo ngokuzenzakalelayo ezibalweni ezingabonakali:
i-enum abstract Foo(Int) {
i-var A; // 0
i-var B; // 1
}
Ibha ye-enum abstract (Uchungechunge) {
i-var A; // "A"
i-var B; // "B"
} - Igama elingukhiye "langaphandle" alisadingi ukusetshenziswa kwesiqalo "@:".
- Kususwe inketho "izinsiza Dynamic" ukuze ufinyelele izinkambu zekilasi ngeyunithi yezinhlamvu. Itholakalela amakilasi angaphandle noma ngokusetshenziswa ngohlobo lwe-abstract.
- Kwengezwe i-syntax ethi "A & B" yohlobo lwempambanondlela, okwamanje esebenza kuphela ezakhiweni ezingaziwa futhi thayipha imingcele yepharamitha. I-syntax endala yokukhawulela isusiwe.
- Ukudala izimo "zemephu" ezingenalutho kuyatholakala nge-syntax "var map:Map‹Int, String› = [];" efana nohlu.
- Isakhiwo sedatha esingeziwe "haxe.ds.ReadOnlyArray".
- Imethadatha manje ingaba nezikhala zamagama (“@:prefix.name function() {…}”). Ngokufanayo nezincazelo: “#if (some.flag ... #end”.
- Iphrothokholi yesevisi entsha yama-IDE asetshenziswa kuyo
i-plugin ye-VSCode . - Kubuyekezwe izincazelo zangaphandle (zangaphandle) zama-Web API futhi kwengeza ezingekho.
Source: opennet.ru