Hoʻokuʻu ʻia ka ʻōlelo papahana Haxe 4.2

Loaʻa ka hoʻokuʻu ʻana o ka hāmeʻa Haxe 4.2, ʻo ia hoʻi ka ʻōlelo papahana kiʻekiʻe-paradigm o ka inoa like me ka paʻi ikaika, kahi cross-compiler a me kahi waihona maʻamau o nā hana. Kākoʻo ka papahana i ka unuhi ʻana iā C++, HashLink/C, JavaScript, C#, Java, PHP, Python a me Lua, a me ka hoʻohui pū ʻana iā JVM, HashLink/JIT, Flash a me Neko bytecode, me ka loaʻa ʻana o nā mana maoli o kēlā me kēia kahua paʻa. Hāʻawi ʻia ka code compiler ma lalo o ka laikini GPLv2, a ʻo ka waihona maʻamau a me nā mīkini virtual HashLink a me Neko i kūkulu ʻia no Haxe ua laikini ʻia ma lalo o ka laikini MIT.

Hoʻohālikelike ka ʻōlelo me ka paʻi ikaika. Kākoʻo ʻia nā ʻenehana hoʻonohonoho hoʻonohonoho kikoʻī, generic a me ka hana. Kokoke ka syntax o Haxe i ka ECMAScript a hoʻonui aku iā ia me nā hiʻohiʻona e like me ka static typing, auto-type inference, pattern matching, generics, iterator-based for loops, AST macros, GADT (Generalized Algebraic Data Types), abstract type, anonymous structures, simplified ka wehewehe ʻana i nā arrays, nā ʻōlelo no ka hōʻuluʻulu kūlana, ka hoʻopili ʻana i nā metadata i nā kahua, nā papa a me nā ʻōlelo, ka interpolation string ('ʻO koʻu inoa ʻo $name'), ʻano ʻano ʻano ('nui hou. (“foo”)') a me nā mea ʻē aʻe he nui. papa Ho'āʻo { static function main() { hope loa poʻe = [ "Elizabeth" => "Hoʻolālā", "Joel" => "Hoʻolālā"]; no (inoa => hana i loko o ka poʻe) { trace('$inoa hana $ hana no ke ola!'); } } }

Nā hiʻohiʻona hou i ka mana 4.2:

  • Ke haʻi nei i nā ʻano like ʻole a me nā hana ma ka pae module, me ka ʻole o ka pono e hoʻopili iā lākou i kahi papa.
  • Kākoʻo no nā papa a me nā hana abstract "maʻamau".
  • Ka hoʻokō maoli ʻana o nā hana variadic no nā papa kuhikuhi āpau (haxe.Rest) a me ka hoʻohui ʻana o ka mea hoʻomohala hoʻopaʻapaʻa "f(...array)".
  • Ka hoʻokō ʻana i kahi puka hanana no nā pae pākahi (“sys.thread.Thread.events”).
  • "@:inheritDoc" metadata no ka hoʻoili ʻana i ka palapala ʻano/palapala palapala.
  • Kākoʻo hoʻouka ʻana i ke ala no nā ʻano o waho ma nā paepae i manaʻo ʻia.
  • Ke hoʻouna nei i ka mea kūkulu i lalo o kona ʻano i ka abstract me ka hoʻohana ʻana i ka metadata "@:forward.new".
  • Hoʻohui ʻia ka mea hana "EIs" i "haxe.macro.Expr".
  • Hiki ke hana i kekahi ʻano abstract me "@:forward.variance".
  • Hōʻike i ke ʻano "Kekahi" ma ke ʻano he "Dynamic" i ka wā e hoʻohui ai i ka hoʻololi.
  • Hoʻohui i kekahi mau ʻano ʻokoʻa maʻamau i ka pūʻolo "haxe.exceptions".
  • Kākoʻo no ka hoʻopili ʻana i nā metadata i ka wā e haʻi ana i nā ʻano loli.
  • Hana "StringTools.unsafeCharAt" i hoʻohana ʻia no ka hoʻololi ʻana i ke kaula.
  • eval (wehewehe): Hoʻohui ʻia nā mea paʻa i "libuv" i loko o ka pūʻolo "eval.luv".
  • eval: hoʻopaʻa ʻia i nā hoʻokō maoli o "Int64" a me "UInt64" ma o ka pūʻolo "eval.integers".
  • cs: ka hoʻokō ʻana i ka socket UDP.
  • cs: “cs.Syntax” module no ka hookomo inline o C# code.
  • jvm: Hoʻohui ʻia ka hae “-D jvm.dynamic-level=x” e hoʻomalu i ka helu o nā hoʻoponopono i hana ʻia no ka code dynamic. 0 = ʻaʻohe, 1 = mākaʻikaʻi heluhelu / kākau ʻana, 2 = pani ʻana i ke ala i ka manawa hoʻonohonoho.
  • java, jvm: Kākoʻo no ka hae "--java-lib <directory>".
  • python: threading API hoʻokō.

Nā hoʻomaikaʻi maʻamau:

  • ʻAʻole koi ʻo "expr ʻo SomeType" i ka uhi ʻana i loko o nā pale.
  • Hoʻonui ʻia ka manaʻo nui no ka "@: hoʻohana" ʻano hoʻonui.
  • E ʻae i ka hoʻohana ʻana i nā hoʻonui ʻano static ma o "super".
  • Hiki ke hoʻonohonoho i ka metadata i nā kahua "@:noDoc".
  • Hoʻololi ʻia ke ʻano abstract "Map".
  • Kākoʻo no "@: ʻōiwi" ma nā mea hana enum.
  • Kākoʻo no "@: hoʻohana" ma nā ʻano ʻōlelo ("typedefs").
  • Hoʻohana nā hewa multiline "..." ma ke ʻano he prefix no nā laina aʻe.
  • Ua hana hou ʻia ka ʻano inference, ʻoi aku ka maikaʻi o ka hoʻololi ʻana i nā hale inoa ʻole i nā ʻano kikoʻī a "pani ʻia" ke pau ka hana.
  • Ke kuhi nei i ke ʻano o nā hana me ka ʻole o nā hoʻopaʻapaʻa e like me "()->..." ma kahi o "Void->...".
  • ʻAe ʻia ka huaʻōlelo "hana" ma ke ʻano he inoa pūʻolo.
  • Hoʻomaikaʻi i ka inlining o nā mea.
  • cs: Hoʻohui kākoʻo no .NET 5.0.
  • cpp: Kākoʻo no nā mea kūkulu ʻōiwi no nā papa waho.
  • php: Hoʻohui ʻia "php.Syntax.customArrayDecl" e haʻi i kahi ʻano ʻōiwi.
  • php: Hōʻano hou ʻia nā ala waho no nā hana like ʻole a me nā papa.
  • php: Hoʻokō pono ʻia o nā hale inoa ʻole.
  • hl: Hoʻokuʻu i ka hui ʻana inā ʻaʻohe hoʻololi i nā modules.
  • lua: Ke hoʻohana nei i ka "hx-lua-simdjson" e hoʻopau i ka json.
  • jvm: Hoʻemi ʻia ka ukana CPU ma ka hoʻokō "sys.thread.Lock".
  • js: Hoʻomaikaʻi maikaʻi ʻia me ka Google Closure Compiler.
  • Palekana Null: E noʻonoʻo i ka "@:nullSafety(Off)" i ka wā e haʻi ana i nā mea hoʻololi: "var @:nullSafety (Off) v".

Eia kekahi, ua hoʻonui ʻia ka hoʻohui ʻana i ka mea hoʻoponopono VSCode i ka mana hou o ka mea hōʻuluʻulu, kahi i ʻike ʻia ai nā ʻōlelo aʻoaʻo me ka hoʻokumu ʻana o nā kahua o nā loulou, nā papa maʻalahi a abstract, a me nā ʻano waiwai.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka