Ar fáil scaoileadh trealamh uirlisí Hax 4.0, lena n-áirítear an teanga cláir ardleibhéil il-paradigm den ainm céanna le clóscríobh láidir, tras-tiomsaitheoir agus leabharlann feidhmeanna caighdeánach. Tacaíonn an tionscadal le haistriúchán go C++, HashLink/C, JavaScript, C#, Java, PHP, Python agus Lua, chomh maith le tiomsú go bytecode JVM, HashLink/JIT, Flash agus Neko, le rochtain ar chumais dhúchasacha gach ardáin sprice. Cód tiomsaitheoir dáilte ag faoi cheadúnas GPLv2, agus leabharlann chaighdeánach agus meaisín fíorúil a forbraíodh do Haxe Neko faoi cheadúnas MIT.
Tá teanga dírithe ar léiriú le clóscríobh láidir. Tacaítear le coincheapa clársceidealaithe atá dírithe ar oibiachtaí, cineálacha agus feidhmiúla.
Tá comhréir Haxe gar do ECMAScript agus ag leathnú a ghnéithe mar chlóscríobh statach, tátal uathchóipe, meaitseáil patrún, cineálacha cineálacha, iterator-bhunaithe do lúba, macraí AST, GADT (Cineálacha Ginearálta Ailgéabracha Sonraí), cineálacha teibí, struchtúir gan ainm, sainmhínithe eagair simplithe, nathanna tiomsaithe coinníollach, meiteashonraí a cheangal le réimsí , ranganna agus nathanna, idirshuíomh teaghrán ('$name' is ainm dom'), paraiméadair cineáil ("Príomhtheaghrán nua ‹Teaghrán ›('foo')"), agus i bhfad níos mó.
tástáil ranga {
príomhfheidhm statach() {
daoine var = [
"Elizabeth" => "Clárú",
"Joel" => "Dearadh"
];
le haghaidh (ainm i people.keys()) {
var post = daoine[ainm];
rian ('Déanann $name $job le haghaidh maireachtála!');
}
}
}
Comhréir nua chun cineál feidhme a shonrú "(ainm: Teaghrán, aois: Int) -> Bool" nó "(Teaghrán, Int) -> Bool" in ionad "Teaghrán-> Int-> Bool".
Tá comhréir fheidhm arrow "(a, b) -> a + b" in ionad "feidhm (a, b) fill a + b".
Cosaint i gcoinne fadhbanna a bhaineann le húsáid luachanna Null (gné thurgnamhach, cumasaithe go roghnach do réimsí, ranganna nó pacáistí áirithe).
Tá an eochairfhocal "deiridh" ann do réimsí ranga agus d'athróga áitiúla atá domhalartaithe. is féidir "deiridh" a úsáid freisin chun feidhmeanna a shainiú chun cosc a chur orthu a bheith sáraithe ag oidhreacht agus le haghaidh aicmí/comhéadain nach féidir a fháil le hoidhreacht.
Tacaíocht Caighdeán Unicode don bhunchineál "Teaghrán" ar gach sprioc tiomsaithe seachas Neko.
Ateangaire ionsuite athscríofa ón tús, a thagann faoin ainm anois Déan measúnú. A bhuíochas leis an ateangaire nua, ritheann scripteanna agus macraí i bhfad níos tapúla. Tacaítear le modh dífhabhtaithe idirghníomhach.
Córas sprice nua le tiomsú (sprioc) Hashlink - am rite ardfheidhmíochta atá deartha go sonrach do Haxe, a thacaíonn le tiomsú go bytecode do JIT nó C, tá comhtháthú éasca aige le C, chomh maith le rochtain ar chineálacha uimhriúla agus leideanna íseal-leibhéil.
Sprioc JVM nua - ligeann sé duit bytecode jvm a ghiniúint trí chéim tiomsaithe an chóid Java a scipeáil tríd an mbratach "-D jvm" a chur leis agus tú ag díriú ar Java.
An cumas feidhmeanna nó cruthaitheoirí a inlíne-imscaradh ag an bpointe glaonna, fiú mura ndearbhaítear iad.
Féidearthacht cuimsiú síntí statacha agus cineál á dhearbhú (amhail "enum") ag baint úsáide as "@:using (path.ToExtension)".
Tacaíonn cineálacha teibí anois le leagan "set" den oibreoir "@:op(ab)" chun slonn "obj.foo = bar" a athlódáil.
Tacaíonn an chomhréir lúb "for" anois le atriall eochairluacha: "do (eochair => luach sa bhailiúchán) {}".
Tacaíocht chun marcáil cosúil le xml a úsáid i sloinn: “var a = ‹hi/›;”. Faoi láthair, níl an ghné seo ar fáil ach le parsáil le macraí agus tá sé ag an gcéim deartha.
Is é an chomhréir do réimsí roghnacha sa nodaireacht “iomlán” de chineálacha struchtúir gan ainm ná: “{ var ?f:Int; }" (mar mhalairt ar an ngearr "{ ?f:Int }").
Is féidir le luachanna Enum a bheith ina luachanna réamhshocraithe anois le haghaidh argóintí feidhme: "function foo‹T›(option:Option‹T"> = Dada)".
Ní éilíonn an chomhréir "enum abstract Name(BasicType) {}" an réimír "@:" in "enum" a thuilleadh.
Uath-uimhriú le haghaidh uimhreacha teibí:
enum abstract Foo(Int) {
var A; //0
var B; //1
}
enum abstract Bar(Teaghrán) {
var A; // "A"
var B; // "B"
}
Ní éilíonn an eochairfhocal "seachtrach" úsáid a bhaint as an réimír "@:" a thuilleadh.
Baineadh an rogha "uirlisí Dinimiciúla" chun rochtain a fháil ar réimsí ranga trí theaghráin. Ar fáil do ranganna seachtracha nó trí chur i bhfeidhm de réir cineáil teibí.
Cuireadh comhréir "A & B" leis maidir le trasnú cineáil, nach mbaineann faoi láthair ach le struchtúir gan ainm agus srianta cineál paraiméadair. Baineadh an sean-chomhréir sriantachta.
Is féidir cásanna folamh "Léarscáil" a chruthú tríd an gcomhréir "var map:Map‹Int, String> = [];" cosúil le sraith.
Cuireadh struchtúr sonraí leis "haxe.ds.ReadOnlyArray".
Is féidir spásanna ainm a bheith ag meiteashonraí anois (“@:prefix.name function() {…}”). Mar an gcéanna le sainmhínithe: “#if (some.flag ... #deireadh".