Kuburitswa kwemutauro wechirongwa Haxe 4.2

Kuburitswa kweHaxe 4.2 toolkit iripo, iyo inosanganisira iyo yakawanda-paradigm yepamusoro-level programming mutauro wezita rimwechete rine simba rekunyora, muchinjika-muunganidzwa uye yakajairwa raibhurari yemabasa. Iyo purojekiti inotsigira kududzira kuC ++, HashLink/C, JavaScript, C#, Java, PHP, Python uye Lua, pamwe nekubatanidza kuJVM, HashLink/JIT, Flash uye Neko bytecode, nekuwana kugona kwekugona kwepuratifomu yega yega. Iyo compiler kodhi inogoverwa pasi peGPLv2 rezinesi, uye raibhurari yakajairwa uye HashLink neNeko chaiwo michina yakagadziridzwa yeHaxe inopihwa rezinesi pasi peMIT rezenisi.

Mutauro wakanangana nekutaura uye kutaipa kwakasimba. Zvinangwa-zvakanangana nechinhu, generic uye zvinoshanda zvirongwa zvekuronga zvinotsigirwa. Haxe's syntax iri padyo neECMAScript uye inoiwedzera iine maficha akadai seyakamira typing, auto-type inference, pateni inofananidzwa, jenarics, iterator-based for looops, AST macros, GADT (Generalized Algebraic Data Types), abstract types, zvisingazivikanwe zvimiro, zvakarerutswa. tsananguro dzakarongwa, mataurirwo ezvisungo zvekubatanidza, kubatanidza metadata kuminda, makirasi uye mataurirwo, tambo kududzira ('Zita rangu ndi $zita'), mhando paramita ('itsva Main("foo")') nezvimwe zvakawanda. kirasi Test {static function main() {final people = ["Elizabeth" => "Programming", "Joel" => "Gadzira"]; nokuda kwe (zita => basa muvanhu) {trace(β€˜$zita rinoita $basa rekurarama!’); }}}

Zvinyowani mushanduro 4.2:

  • Kuzivisa static variables uye mabasa pachikamu chemodule, pasina chikonzero chekuzviputira mukirasi.
  • Tsigiro ye "classic" abstract makirasi uye mabasa.
  • Native kushandiswa kwevariadic mabasa kune ese anonangwa mapuratifomu (haxe.Rest) uye kuwedzera kwenharo yekuwedzera mushandisi "f(...array)".
  • Kuitwa kwechiitiko loop kune yega shinda ("sys.thread.Thread.events").
  • "@:inheritDoc" metadata yekugara nhaka mhando/magwaro emunda.
  • Nzira yekuremedza rutsigiro rwenzira dzekunze pamapuratifomu ese anotangwa.
  • Kuendesa mberi muvaki ari pasi perudzi rwayo kune abstract uchishandisa "@:forward.new" metadata.
  • Yakawedzera "EIs" muvaki kune "haxe.macro.Expr".
  • Kugona kugadzira abstract type musiyano ne "@:forward.variance".
  • Kumiririra kwe "Chero" mhando se "Dynamic" kana uchibatanidza musiyano.
  • Yakawedzera mamwe marudzi akasarudzika kune "haxe.exceptions" package.
  • Tsigiro yekubatanidza metadata paunenge uchizivisa zvinosiyana.
  • Basa re "StringTools.unsafeCharAt" rinoshandiswa kudzokorodza tambo.
  • eval (muturikiri): Yakawedzera zvisungo ku "libuv" mupakeji "eval.luv".
  • eval: zvinosungirwa kune zvekuzvarwa mashandisirwo e "Int64" uye "UInt64" kuburikidza ne "eval.integers" package.
  • cs: UDP socket kuita.
  • cs: "cs.Syntax" module yekuisa inline yeC # kodhi.
  • jvm: Yakawedzera "-D jvm.dynamic-level=x" mureza kuti udzore huwandu hwemagadzirirwo akagadzirwa ekodhi ine simba. 0 = hapana, 1 = munda kuverenga / kunyora optimization, 2 = nzira yekuvhara panguva yekuunganidza.
  • java, jvm: Tsigiro ye "--java-lib " mureza.
  • python: threading API kushandiswa.

Zvakanatsiridzwa:

  • "expr is SomeType" haidi kuputira mumaparentheses.
  • Yakawedzera kukosha kwe "@:kushandisa" mhando dzekuwedzera.
  • Inobvumira kushandiswa kweiyo static mhando yekuwedzera kuburikidza ne "super".
  • Kugona kuseta metadata ku "@: noDoc" minda.
  • The abstract type "Mepu" inoitwa transitive.
  • Tsigiro ye "@:native" pane enum vavaki.
  • Tsigiro ye "@:kushandisa" pane zviziviso zvemhando ("typedefs").
  • Multiline kukanganisa shandisa "..." sechivakashure chemitsetse inotevera.
  • Type inference yakagadziriswazve, zvimiro zvisingazivikanwe zvinoshandurwa zvirinani kuita mhando dzakajeka uye "kuvharwa" kana basa rapera.
  • Inferring mhando yemabasa pasina nharo se "()->..." pachinzvimbo che "Void-> ...".
  • Izwi rekuti "basa" rinotenderwa sezita repasuru.
  • Yakavandudzwa inlining yezvinhu.
  • cs: Yakawedzerwa rutsigiro rwe.NET 5.0.
  • cpp: Tsigiro yevagadziri vekunze emakirasi ekunze.
  • php: Yakawedzerwa "php.Syntax.customArrayDecl" kuzivisa rudzi rwekuzvarwa.
  • php: Yakagadziridzwa nzira dzekunze dzemabasa akasiyana uye makirasi.
  • php: Yakakwenenzverwa kuita kweasingazivikanwe zvimiro.
  • hl: Svetuka kuunganidza kana pasina shanduko kumamodule.
  • lua: Kushandisa "hx-lua-simdjson" kuratidza json.
  • jvm: Yakaderedzwa CPU mutoro mu "sys.thread.Lock" kuita.
  • js: Yakavandudzwa kuenderana neGoogle Kuvhara Compiler.
  • Null Chengetedzo: Funga nezve "@: nullSafety(Kudzima)" kana uchizivisa zvinosiyana: "var @:nullSafety(Off) v".

Zvakare, iyo yekuwedzera kune VSCode mupepeti yakagadziridzwa kune iyo nyowani vhezheni yemuunganidzi, umo mazano akaonekwa nechizvarwa chekushayikwa kweminda yenzvimbo, makirasi akareruka uye abstract, pamwe nemaitiro ezvivakwa.

Source: opennet.ru

Voeg