Gefa út forritunarmálið Haxe 4.2

Útgáfa af Haxe 4.2 verkfærakistunni er fáanleg, sem inniheldur samnefnt forritunarmál á háu stigi með mörgum hugmyndum með sterkri vélritun, krossþýðanda og stöðluðu aðgerðasafni. Verkefnið styður þýðingar yfir á C++, HashLink/C, JavaScript, C#, Java, PHP, Python og Lua, sem og samantekt á JVM, HashLink/JIT, Flash og Neko bækakóða, með aðgang að innfæddum möguleikum hvers markvettvangs. Þjálfarakóðanum er dreift undir GPLv2 leyfinu og staðlaða bókasafnið og HashLink og Neko sýndarvélarnar sem þróaðar eru fyrir Haxe eru með leyfi samkvæmt MIT leyfinu.

Tungumálið er tjáningarmiðað með sterkri vélritun. Hlutbundin, almenn og hagnýt forritunartækni er studd. Setningafræði Haxe er nálægt ECMAScript og útvíkkar það með eiginleikum eins og kyrrstæðum vélritun, sjálfvirkri gerð ályktunar, mynstursamsvörun, almennar tölur, endurtekningar-undirstaða fyrir lykkjur, AST fjölvi, GADT (almennar algebraískar gagnategundir), óhlutbundnar tegundir, nafnlausar byggingar, einfölduð skilgreiningar fylki, tjáningar fyrir skilyrta samantekt, tengja lýsigögn við reiti, flokka og tjáning, strengjainnskot ('My name is $name'), tegundarbreytur ('new Main("foo")') og margt fleira. class Test { static function main() { final people = [ "Elizabeth" => "Forritun", "Joel" => "Hönnun" ]; for (nafn => starf í fólki) { trace(‘$nafn gerir $starf til að lifa!’); } } }

Nýir eiginleikar í útgáfu 4.2:

  • Að lýsa yfir kyrrstæðum breytum og föllum á einingastigi, án þess að þurfa að vefja þeim inn í flokk.
  • Stuðningur við „klassíska“ óhlutbundna flokka og aðgerðir.
  • Innfædd útfærsla á breytilegum aðgerðum fyrir alla markvettvanga (haxe.Rest) og viðbót við rökstækkunarrekstraraðila „f(...array)“.
  • Útfærsla á atburðarlykkju fyrir einstaka þræði ("sys.thread.Thread.events").
  • "@:inheritDoc" lýsigögn til að erfa skjöl um gerð/reit.
  • Stuðningur við ofhleðslu aðferða fyrir ytri aðferðir á öllum markpöllum.
  • Framsenda smiðinn sem liggur að baki gerð hans til ágripsins með því að nota „@:forward.new“ lýsigögnin.
  • Bætti "EIs" smiði við "haxe.macro.Expr".
  • Geta til að búa til óhlutbundið afbrigði með „@:forward.variance“.
  • Sýning á "Hvað sem er" gerð sem "Dynamísk" þegar sameinað afbrigði.
  • Bætti nokkrum helstu undantekningategundum við "haxe.exceptions" pakkann.
  • Stuðningur við að hengja lýsigögn við þegar breytur eru tilkynntar.
  • Aðgerð "StringTools.unsafeCharAt" notuð fyrir endurtekningu strengja.
  • eval (túlkur): Bætti bindingum við "libuv" í pakkanum "eval.luv".
  • eval: bindingar við innfæddar útfærslur á „Int64“ og „UInt64“ í gegnum „eval.integers“ pakkann.
  • cs: UDP fals framkvæmd.
  • cs: „cs.Syntax“ eining fyrir innfelldar innsetningar á C# kóða.
  • jvm: Bætti við „-D jvm.dynamic-level=x“ fánanum til að stjórna fjölda myndaðra hagræðinga fyrir kraftmikinn kóða. 0 = enginn, 1 = lestur/skrifa hagræðing á reit, 2 = lokun aðferða á tíma samantektar.
  • java, jvm: Stuðningur við "--java-lib " fána.
  • python: þráður API útfærsla.

Almennar endurbætur:

  • „expr er SomeType“ þarf ekki að vefja inn í sviga.
  • Aukinn forgangur fyrir "@:using" tegundarviðbætur.
  • Leyfir notkun á kyrrstæðum tegundarviðbótum í gegnum „super“.
  • Geta til að stilla lýsigögn á „@:noDoc“ reiti.
  • Óhlutbundin gerð „Map“ er gerð tímabundin.
  • Stuðningur við "@:native" á enum smiðum.
  • Stuðningur við "@:using" á tegundayfirlýsingum ("typedefs").
  • Marglínuvillur nota "..." sem forskeyti fyrir næstu línur.
  • Gerðarályktun hefur verið endurunnin, nafnlausum byggingum er betur breytt í skýrar tegundir og „lokað“ þegar aðgerðinni lýkur.
  • Að álykta um tegund falla án röksemda sem "()->..." í stað "Ógilt->...".
  • Leitarorðið „function“ er leyfilegt sem pakkanafn.
  • Bætt innfóðrun hluta.
  • cs: Bætti við stuðningi við .NET 5.0.
  • cpp: Stuðningur við innfædda smiða fyrir utanaðkomandi flokka.
  • php: Bætt við "php.Syntax.customArrayDecl" til að lýsa yfir innfæddri fylkingu.
  • php: Uppfærðar ytri aðferðir fyrir ýmsar aðgerðir og flokka.
  • php: Fínstillt útfærsla nafnlausra mannvirkja.
  • hl: Slepptu samantekt ef engar breytingar verða á einingum.
  • lua: Notar "hx-lua-simdjson" til að flokka json.
  • jvm: Minnkað CPU álag í "sys.thread.Lock" útfærslunni.
  • js: Bætt samhæfni við Google Closure Compiler.
  • Núll öryggi: Íhugaðu "@:nullSafety(Off)" þegar lýst er yfir breytum: "var @:nullSafety(Off) v".

Einnig hefur viðbótin við VSCode ritstjórann verið uppfærð í nýju útgáfuna af þýðandanum, þar sem vísbendingar hafa birst um myndun sviða sem vantar viðmót, einfalda og óhlutbundna flokka, sem og eiginleikaaðferðir.

Heimild: opennet.ru

Bæta við athugasemd