Akwai sakin kayan aiki Haxe 4.1, wanda ya haɗa da Multi-paradigm high-level programming languages na suna iri ɗaya tare da bugu mai ƙarfi, mai haɗawa da madaidaicin ɗakin karatu na ayyuka. Aikin yana goyan bayan fassarar zuwa C++, HashLink/C, JavaScript, C#, Java, PHP, Python da Lua, da kuma haɗawa zuwa JVM, HashLink/JIT, Flash da Neko bytecode, tare da samun damar yin amfani da damar ɗan ƙasa na kowane dandamali na manufa. Lambar tarawa rarraba ta ƙarƙashin lasisin GPLv2, da daidaitaccen ɗakin karatu da injunan kama-da-wane da aka haɓaka don Haxe HashLink и Neko karkashin lasisin MIT.
Harshe shine magana-daidaitacce tare da bugu mai ƙarfi. Dabarun shirye-shirye masu dacewa da abu, gamayya da ayyuka suna tallafawa. Haxe syntax yana kusa da ECMAScript kuma yana faɗaɗa fasalullukan sa kamar bugu na tsaye, inference autotype, matching juna, Generics, tushen tushen don madaukai, AST macros, GADT (Nau'in Bayanan Algebraic Gabaɗaya), nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan nau'ikan bayanan algebraic ne, ma'anar ma'anar tsararru waɗanda aka sauƙaƙe, maganganun haɗaɗɗiyar yanayi, haɗa metadata zuwa filayen. , azuzuwan da kalamai, kirtani interpolation ("'Sunana $name'"), rubuta sigogi ('sabuwar Main("foo")'), da kuma fiye da haka.
Gwajin aji {
babban aiki a tsaye() {
mutane na ƙarshe = [
"Elizabeth" => "Shirye-shiryen",
"Joel" => "tsara"
];
don (suna => aiki a cikin mutane) {
gano('$ sunan yana yin $ aiki don rayuwa!');
}
}
}
Sabbin fasali a cikin sigar 4.1:
An ƙara haɓaka maimaitawar wutsiya.
An ƙara sabon API ɗin haɗe-haɗe don keɓanta kulawa.
An ba da izinin gina "gwada {} kama (e) {}" a matsayin gajeriyar hannu don "gwada {} kama (e: haxe.Exception) {}".
Ƙara goyon bayan SSL ga mai fassarar eval.
JVM manufa ba a ɗauka a matsayin gwaji.
Don Ƙa'idar Sabar Harshe, an ƙara goyan bayan ayyukan "Goto Implementation" da "Nemo nassoshi" ayyuka.
Ingantacciyar suna na masu canjin gida na wucin gadi a cikin lambar da aka samar. An cire m "dawo;" a cikin ayyukan kibiya ba tare da ƙimar dawowa ba.
Ana ba da izinin haɗin shiga (samu, tsoho) akan filayen (getter kawai, dabi'un aikin tsoho).
Bada izinin haɓakawa da rage masu aiki don filayen Abstract iri.
Ingantattun madogaran madaukai ta amfani da na'urorin da ba a san su ba.
js: Ingantaccen aiwatar da StringMap don ES5.
js: An ƙara ƙarni na masu canji zuwa zaɓin mai tarawa "-D js-es=6", an inganta ƙarni na azuzuwan ES6.
lua: "StringIterator" ingantacce, an inganta sarrafa kuskure.
php: Ingantaccen "Std.isOfType" don nau'ikan tushe.
php: Ƙirƙirar tsararraki yanzu suna aiwatar da musaya na asali "Iterator", "IteratorAggregate", "Kidaya".
cs: Ƙara metadata "@: assemblyMeta" da "@: majalisaStrict".
Python: ƙara aiwatar da "__contains__" zuwa abubuwan da ba a san su ba
da "__getitem__", wanda ke ba su damar amfani da su azaman ƙamus a cikin lambar da aka ƙirƙira.
jvm: Ingantacciyar ingantacciyar aikin godiya ga sabuwar hanyar samun damar ayyukan da aka buga da kuma samar da ƙarin mu'amala a lokuta inda ake amfani da abubuwa azaman tsarin da ba a san su ba (an hana bincikar dukiya):
Haɓakawa a daidaitaccen ɗakin karatu:
Ƙara aikin "Array.contains".
An ƙara "Array.keyValueIterator", wanda ke aiwatar da ƙimar maɓalli don tsararru ("don (maɓalli => ƙima a cikin tsararru)").
Ƙara nau'in ƙuntatawa "haxe.Constraints.NotVoid".
Ayyukan "findIndex" da "foldi" an ƙara su zuwa ajin "Lambda".
Aiwatar da "hanzar da tsararru" (shirin shiga ta hanyar "arr[i]") da maɓalli-daraja don "haxe.ds.HashMap".
jvm: An aiwatar da takamaiman nau'ikan JVM na "StringMap", "sys.thread.Lock", "sys.thread.Thread".
java/jvm: An yi amfani da aiwatarwa na asali na "MD5", "SHA-1" da "SHA-256" don samfuran "haxe.crypto".