Ulwimi lu
I-syntax ye-Haxe ikufutshane ne-ECMAScript kwaye
Uvavanyo lweklasi {
umsebenzi ongatshintshiyo () {
abantu abaqhelekileyo = [
"Elizabeth" => "Ukucwangcisa",
"Joweli" => "Yila"
];
kuba (igama kubantu.izitshixo()) {
var umsebenzi = abantu[igama];
trace(‘igama le-$ lenza umsebenzi we-$ ukuze uziphilise!’);
}
}
}
Siseko
- I-syntax entsha yokuchaza uhlobo lomsebenzi "(igama: Umtya, ubudala: Int)-> Bool" okanye "(Intambo, Int)-> Bool" endaweni ka "Umtya-> Int-> Bool".
- Isivakalisi somsebenzi wotolo ngu "(a, b) -> a + b" endaweni yokuthi "umsebenzi(a, b) buyisela u + b".
- Ukukhuselwa kwiingxaki ezinxulumene nokusetyenziswa kwamaxabiso e-Null (uphawu lovavanyo, luvulelwe imimandla ethile, iiklasi okanye iipakethe).
- Igama elithi "ekugqibeleni" leleenkalo zeklasi kunye nezinto eziguquguqukayo zendawo ezingenakuguqulwa. "Eyokugqibela" isenokusetyenziswa ukuchaza imisebenzi ukuthintela ukuba ingagxothwa lilifa kunye neeklasi/imidibaniso engenakuzuzwa.
-
inkxaso Umgangatho we-Unicode wohlobo lwesiseko "Umtya" kuzo zonke iithagethi zokuqokelela ngaphandle kweNeko. - Itoliki eyakhelwe-ngaphakathi ibhalwe ngokutsha ukusuka ekuqaleni, ngoku eza phantsi kwegama
Vavanya . Enkosi kwitoliki entsha, izikripthi kunye neemacros zibaleka ngokukhawuleza okukhulu. Imo ye-interactive debugging iyaxhaswa. - Inkqubo entsha ekujoliswe kuyo yokuhlanganiswa (okujoliswe kuko)
Hashlink - i-runtime ephezulu yokusebenza eyenzelwe ngokukodwa i-Haxe, ukuxhasa ukuhlanganiswa kwi-bytecode ye-JIT okanye i-C, inokuhlanganiswa okulula kunye ne-C, kunye nokufikelela kwiintlobo zamanani aphantsi kunye nezikhombisi. - Ithagethi entsha ye-JVM - ikuvumela ukuba uvelise i-jvm bytecode ngokutsiba inyathelo lokuhlanganiswa kwekhowudi yeJava ngokongeza iflegi ethi "-D jvm" xa ujolisa kwiJava.
- Ikhono lokusebenzisa i-inline-deploy kwindawo yokubiza imisebenzi okanye abakhi, nangona bengabhengezwa ngolo hlobo.
- Ukunokwenzeka kokubandakanywa
izandiso ezimileyo xa ubhengeza uhlobo (olufana no "enum") usebenzisa "@:using(path.ToExtension)". - Iintlobo ze-abstract ngoku zixhasa uguqulelo luka-"set" lomsebenzisi we-"@:op(ab)" ukuze kulayishwe kwakhona "obj.foo = bar" iintetho.
- I "for" loop syntax ngoku ixhasa ukuphindaphindwa kwexabiso elingundoqo: "ye (isitshixo => ixabiso kwingqokelela) {}".
- Inkxaso yokusebenzisa uphawulo olufana ne-xml kwintetho: “var a = ‹hi/›;”. Okwangoku, eli nqaku lifumaneka kuphela xa kusenziwa iimacros kwaye likwinqanaba loyilo.
- Isivakalisi semimandla ekhethiweyo kubhalo “ogcweleyo” lweentlobo zesakhiwo esingachazwanga ngamagama sithi: “{ var ?f:Int; }" (enye yendlela emfutshane "{ ?f:Int }").
- Amaxabiso e-Enum ngoku anokuba ngamaxabiso angagqibekanga eempikiswano zomsebenzi: "umsebenzi foo‹T›(ukhetho:Ukhetho‹T› = Akukho)".
- Igama elithi "enum abstract Name(BasicType) {}" ayisafuni "@:" isimaphambili esikwi "enum".
- Ukunika amanani ngokuzenzekela kubalo olungabonakaliyo:
enum abstract Foo (Int) {
var A; // 0
var B; // 1
}
enum abstract Bar(Umtya) {
var A; // "A"
var B; // "B"
} - Igama elingundoqo elithi "extern" alisafuni ukusetyenziswa kwesimaphambili "@:".
- Lususiwe ukhetho "izixhobo Dynamic" ukufikelela kwiindawo zeklasi ngeentambo. Iyafumaneka kwiiklasi zangaphandle okanye ngokuphunyezwa ngohlobo olungabonakaliyo.
- I-syntax yongezwe "A & B" yohlobo lwe-intersection, okwangoku isebenza kuphela kwizakhiwo ezingachazwanga kunye nohlobo lwemithintelo yepharamitha. Isivakalisi esidala sesithintelo sisusiwe.
- Ukwenza "iMaphu" engenanto imizekelo iyafumaneka nge-syntax "var map:Map‹Int, String› = [];" iyafana noluhlu.
- Ulwakhiwo lwedatha olongeziweyo "haxe.ds.ReadOnlyArray".
- Imethadatha ngoku inokuba nezithuba zamagama (“@:prefix.name function() {…}”). Ngokufanayo neenkcazo: "#ukuba (enye.flag ... #end".
- Inkqubo entsha yenkonzo yee-IDE ezisetyenziswa kuyo
iplagi ye-VSCode . - Kuhlaziywe iinkcazelo zangaphandle (zangaphandle) zeWeb APIs kwaye zongezwe ezingekhoyo.
umthombo: opennet.ru