Eisiúint na teanga ríomhchlárúcháin Haxe 4.1

Ar fáil scaoileadh trealamh uirlisí Hax 4.1, a chuimsíonn an teanga cláir ardleibhéil il-paradigm den ainm céanna le clóscríobh láidir, tras-thiomsaitheoir 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 faoin gceadúnas GPLv2, agus an leabharlann chaighdeánach agus na meaisíní fíorúla a forbraíodh do Haxe HashLink и Neko faoi ​​cheadúnas MIT.

Tá teanga dírithe ar léiriú le clóscríobh láidir. Tacaítear le teicnící ríomhchlárúcháin 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 anaithnide, sainmhínithe eagar simplithe, sloinnte 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íomhlíonra nua ("foo")') agus i bhfad níos mó.

tástáil ranga {
príomhfheidhm statach() {
daoine deiridh = [
"Elizabeth" => "Clárú",
"Joel" => "Dearadh"
];

le haghaidh (ainm => post i ndaoine) {
rian ('Déanann $name $job le haghaidh maireachtála!');
}
}
}

Gnéithe nua i leagan 4.1:

  • Cuireadh leas iomlán a bhaint as atarlú eireaball.
  • Cuireadh API aontaithe nua leis le haghaidh láimhseáil eisceachta.
  • Ceadaítear an tógáil "try {} catch(e) {}" mar ghearrshaol le haghaidh " try {} catch(e: haxe. Exception) {}".
  • Cuireadh tacaíocht SSL leis an ateangaire eval.
  • Ní mheastar an JVM sprice a bheith turgnamhach a thuilleadh.
  • Maidir leis an bPrótacal Freastalaí Teanga, tá tacaíocht do na feidhmeanna “Goto Implementation” agus “Faigh tagairtí” curtha leis.
  • Ainmniú feabhsaithe ar athróga áitiúla sealadacha sa chód ginte. Baineadh iomarcach "return;" i bhfeidhmeanna saigheada gan luach aischuir.
  • Ceadaítear teaglaim rochtana (faigh, réamhshocrú) ar réimsí (getter amháin, iompar sannadh réamhshocraithe).
  • Ceadaigh oibreoirí incriminte agus laghdaithe do réimsí cineálacha teibí.
  • Inlíne feabhsaithe do lúb ag baint úsáide as iterators gan ainm.
  • js: Cur i bhfeidhm feabhsaithe StringMap do ES5.
  • js: Cuireadh giniúint athróg ligin leis an rogha tiomsaitheora “-D js-es=6”, feabhsaíodh giniúint ranganna ES6.
  • lua: "StringIterator" optamaithe, feabhsaíodh láimhseáil earráidí.
  • php: "Std.isOfType" optamaithe le haghaidh bunchineálacha.
  • php: Cuireann eagair ghinte na comhéadain dhúchasacha “Iterator”, “IteratorAggregate”, “Countable” i bhfeidhm anois.
  • cs: Cuireadh meiteashonraí leis "@:assemblyMeta" agus "@:assemblyStrict".
  • python: cuireadh "__contains__" i bhfeidhm le rudaí gan ainm
    agus "__getitem__", a cheadaíonn iad a úsáid mar fhoclóirí sa chód ginte.

  • jvm: Feabhas suntasach ar fheidhmíocht a bhuí le bealach nua chun rochtain a fháil ar fheidhmeanna clóscríofa agus chun comhéadain bhreise a ghiniúint i gcásanna ina n-úsáidtear réada mar struchtúir anaithnide (coisctear cuardach dinimiciúil maoine):
    Eisiúint na teanga ríomhchlárúcháin Haxe 4.1

Feabhsuithe ar an leabharlann chaighdeánach:

  • Cuireadh feidhm "Array.contains" leis.
  • Cuireadh "Array.keyValueIterator" leis, a chuireann atriallta eochrach-luacha i bhfeidhm le haghaidh eagair ("le haghaidh (eochair => luach in eagar)")).
  • Cineál srianta breise "haxe.Constraints.NotVoid".
  • Tá na feidhmeanna “findIndex” agus “foldi” curtha leis an rang “Lambda”.
  • Cuireadh "rochtain eagar" (rochtain trí "arr[i]") agus atriallluach eochrach le haghaidh "haxe.ds.HashMap" i bhfeidhm.
  • jvm: Leaganacha JVM-shonracha de "StringMap", "sys.thread.Lock", "sys.thread.Thread" curtha i bhfeidhm.
  • java/jvm: Úsáideadh feidhmithe dúchasacha "MD5", "SHA-1" agus "SHA-256" do na modúil "haxe.crypto".
  • macra: Cuireadh "haxe.macro.Context.containsDisplayPosition(pos)" leis.
  • nullsafety: láimhseáiltear mód "dian" anois mar shnáithe shingil; curtha leis an mód "StrictThreaded".
  • Tá “Std.is” imithe i léig i bhfabhar “Std.isOfType”.
  • Cuireadh rabhadh leis agus athróga áitiúla á n-úsáid gan luachanna i ndúntaí.
  • js: tá "__js__(cód, airgs) neamhchlóscríofa" imithe i léig, cuirtear "js.Syntax.code(code, args)" ina ionad.
  • php/neko: tá “neko.Web” agus “php.Web” imithe i léig agus bogfar iad go dtí an leabharlann “hx4compat” níos déanaí.

Sa chéad eisiúint eile beartaithe:

  • Feabhsuithe bainisteoir pacáiste hacselib.
  • Córas asincrónach API bunaithe leabhar.
  • Coroutines.
  • Feidhmeanna modúlach statacha agus athróga a dhearbhú gan ranganna a chruthú (ar fáil cheana féin i dtógálacha oíche).

Foinse: oscailtenet.ru

Add a comment