Derxistina zimanê bernamesaziyê Haxe 4.2

Serbestberdanek amûrek Haxe 4.2 heye, ku tê de zimanê bernamesaziya asta bilind a pir-paradîgmayî ya bi heman navî bi tîpkirina xurt, hevberhevkerek û pirtûkxaneyek standard a fonksiyonan vedihewîne. Proje wergera C++, HashLink/C, JavaScript, C#, Java, PHP, Python û Lua, û hem jî berhevkirina JVM, HashLink/JIT, Flash û Neko bytecode piştgirî dike, bi gihîştina kapasîteyên xwemalî yên her platforma armancê. Koda berhevkerê di bin lîsansa GPLv2 de tê belav kirin, û pirtûkxaneya standard û makîneyên virtual HashLink û Neko yên ku ji bo Haxe hatine pêşve xistin di bin lîsansa MIT-ê de têne destûr kirin.

Ziman bi tîpên xurt bi derbirînê ve girêdayî ye. Teknolojiyên bernamesaziya objekt-oriented, gelemperî û fonksiyonel têne piştgirî kirin. Hevoksaziya Haxe nêzîkê ECMAScript-ê ye û wê bi taybetmendiyên wekî tîpkirina statîk, encamdana tîpa xweser, hevberdana nimûne, generîk, îterator-bingeha lûpkan, makroyên AST, GADT (Cûreyên Daneyên Cebrîkî yên Giştî), cûreyên razber, strukturên nenas, hêsankirî dirêj dike. rêzikên pênase, biwêjên ji bo berhevkirina şertî, girêdana metadata bi qadan, çîn û biwêjan re, navberkirina rêzan ('Navê min $name ye'), parametreyên tîpan ('New Main("foo")') û hê bêtir. class Test { fonksiyona statîk main() { kesên dawî = [ "Elizabeth" => "Bernamekirin", "Joel" => "Sêwirandin" ]; ji bo (nav => kar di mirovan de) { trace('$name ji bo debara xwe $kar dike!'); } }

Taybetmendiyên nû di guhertoya 4.2 de:

  • Daxuyankirina guhêrbar û fonksiyonên statîk di asta modulê de, bêyî ku hewce bike ku wan di polê de pêça.
  • Piştgiriya ji bo ders û fonksiyonên abstrakt "klasîk".
  • Pêkanîna xwemalî ya fonksiyonên cûrbecûr ji bo hemî platformên armanc (haxe.Rest) û lêzêdekirina operatorê berfirehkirina argumana "f(...array)".
  • Bicîhkirina lûleya bûyerê ji bo mijarên takekesî ("sys.thread.Thread.events").
  • Metadata "@:inheritDoc" ji bo mîraskirina belgeyên cure/qadê.
  • Piştgiriya zêdebarkirina rêbazê ji bo rêbazên derveyî li ser hemî platformên armanc.
  • Bi karanîna metadata "@:forward.new" çêkerê ku di binê celebê wê de ye, ber bi abstraktê ve dişîne.
  • Avakera "EIs" li "haxe.macro.Expr" zêde kir.
  • Karîna çêkirina guhertoyek tîpek razber bi "@:forward.variance".
  • Nûneratiya tîpa "Her" wekî "Dînamîk" dema yekkirina guhertoyê.
  • Hin cûreyên îstîsna yên bingehîn li pakêta "haxe.exceptions" zêde kirin.
  • Piştgiriya girêdana metadata dema ragihandina guherbaran.
  • Fonksiyona "StringTools.unsafeCharAt" ji bo dubarekirina rêzikê tê bikaranîn.
  • eval (tercuman): Di pakêta "eval.luv" de girêdanên li "libuv" zêde kirin.
  • eval: girêdanên bi pêkanînên xwemalî yên "Int64" û "UInt64" bi rêya pakêta "eval.integers".
  • cs: pêkanîna soketa UDP.
  • cs: Modula "cs.Syntax" ji bo têketina hundurîn a koda C#.
  • jvm: Ala "-D jvm.dynamic-level=x" lê zêde kir da ku hejmara xweşbîniyên çêkirî yên ji bo koda dînamîkî kontrol bike. 0 = tune, 1 = xweşbîniya xwendin/nivîsandina zeviyê, 2 = girtina rêbazê di dema berhevkirinê de.
  • java, jvm: Piştgiriya ala "--java-lib ".
  • python: pêkanîna API-ê threading.

Pêşveçûnên gelemperî:

  • "expr SomeType ye" hewce nake ku di nav parantezê de were pêçan.
  • Ji bo pêvekên cureyê "@:bikaranîna" pêşanî zêde bûye.
  • Destûrê dide karanîna dirêjkirina tîpên statîk bi "super".
  • Qabiliyeta danîna metadata li qadên "@:noDoc".
  • Tîpa razber "Nexşe" transîtîv hatiye çêkirin.
  • Piştgiriya "@: xwecî" li ser çêkerên enum.
  • Piştgiriya "@:bikaranîna" li ser danezanên tîpan ("typedefs").
  • Çewtiyên pir rêzî "..." wekî pêşgirek ji bo rêzikên dû re bikar tînin.
  • Encama tîpê ji nû ve hatî xebitandin, strukturên nenas çêtir dibin celebên eşkere û "girtî" dema ku fonksiyon qediya.
  • Têgihîştina cureyê fonksiyonên bêyî argumanan wekî "()->..." li şûna "Veça->...".
  • Peyva sereke ya "fonksiyonê" wekî navek pakêtê tête destûr kirin.
  • Têkiliya tiştan çêtir kirin.
  • cs: Piştgiriya ji bo .NET 5.0 zêde kir.
  • cpp: Piştgiriya ji bo çêkerên xwemalî yên ji bo çînên derveyî.
  • php: "php.Syntax.customArrayDecl" hat zêdekirin da ku arrayek xwemalî ragihîne.
  • php: Ji bo fonksiyon û çînên cihêreng rêbazên derveyî nûve kirin.
  • php: Pêkanîna xweşbîn a strukturên nenas.
  • hl: Heke di modulan de guheztin tunebin, ji berhevkirinê derbas bibin.
  • lua: Ji bo parkirina json "hx-lua-simdjson" bikar bînin.
  • jvm: Di pêkanîna "sys.thread.Lock" de barkirina CPU kêm bû.
  • js: Bi Berhevkarê Girtina Google-ê re hevahengiya çêtir kirin.
  • Ewlehiya Null: Dema ku guhêrbaran ragihînin "@:nullSafety(Off)" bifikirin: "var @:nullSafety(Off) v".

Di heman demê de, lêzêdekirina edîtorê VSCode li guhertoya nû ya berhevkerê hatî nûve kirin, ku tê de îşaret bi nifşkirina zeviyên wenda yên navbeynkariyê, çînên sade û razber, û her weha rêbazên taybetmendiyê xuya bûne.

Source: opennet.ru

Add a comment