Tuuina atu o le gagana polokalame Haxe 4.2

O loʻo maua se faʻasalalauga o le Haxe 4.2 toolkit, lea e aofia ai le tele-paradigm high-level programming language o le igoa lava e tasi ma le malosi o le taina, se koluse-compiler ma se faletusi masani o galuega. E lagolagoina e le poloketi le fa'aliliuga i le C++, HashLink/C, JavaScript, C#, Java, PHP, Python ma Lua, fa'apea fo'i le tu'ufa'atasiga i le JVM, HashLink/JIT, Flash ma le Neko bytecode, fa'atasi ai ma le avanoa i agava'a fa'ale-aganu'u o ta'iala ta'itasi. O le code compiler o loʻo tufatufaina i lalo ole laisene GPLv2, ma o le faletusi masani ma le HashLink ma Neko masini masini faʻapipiʻi mo Haxe ua laiseneina i lalo ole laisene MIT.

O le gagana e fa'atatau i fa'amatalaga ma le malosi o le taina. O lo'o lagolagoina faiga fa'apolokalame fa'atatau i mea, lautele ma fa'atinoga. O le syntax a Haxe e latalata i le ECMAScript ma faʻalauteleina i foliga e pei o le static typing, auto-type inference, pattern matching, generics, iterator-based for loops, AST macros, GADT (Generalized Algebraic Data Types), abstract types, anonymous structures, faafaigofieina. fa'auigaina fa'asologa, fa'amatalaga mo tu'ufa'atasiga tu'ufa'atasia, fa'apipi'i metadata i fanua, vasega ma fa'amatalaga, fa'auluina manoa ('O lo'u igoa o le $igoa'), fa'aigoa ta'iala ('Autu fou (“foo”)') ma le tele o isi. vasega Su'ega { static function main() { tagata mulimuli = [ "Elizabeth" => "Polokalame", "Joel" => "Design" ]; mo (igoa => galuega i tagata) { trace('$name does $job for a life!'); } } }

Fa'aaliga fou ile version 4.2:

  • Fa'ailoaina o fesuiaiga ma galuega i le tulaga o le module, e aunoa ma le mana'omia e afifi i totonu o se vasega.
  • Lagolago mo vasega fa'apitoa ma galuega fa'atino.
  • Fa'atino fa'ale-aganu'u o galuega fa'a-va'aiga mo fa'atonuga uma (haxe.Rest) ma le fa'aopoopoina o le fa'aupuga fa'alautele fa'aupuga "f(...array)".
  • Fa'atinoina o se fa'alavelave fa'alavelave mo filo ta'itasi (“sys.thread.Thread.events”).
  • "@:inheritDoc" metadata mo le mauaina o ituaiga / fanua faʻamaumauga.
  • Metotia ova le lagolago mo auala i fafo i luga o tulaga uma sini.
  • Tu'u atu le faufale o lo'o fa'avae lona ituaiga i le fa'amatalaga e fa'aaoga ai le metadata "@:forward.new".
  • Fa'aopoopo "EIs" faufale i le "haxe.macro.Expr".
  • Malosiaga e fai ai se fa'avasegaga fa'atusa ma le "@:forward.variance".
  • Fa'atusa o le ituaiga "So'o se" e pei o le "Dynamic" pe a tu'ufa'atasia suiga.
  • Fa'aopoopo nisi ituaiga fa'apitoa fa'apitoa i le pusa "haxe.exceptions".
  • Lagolago mo le faʻapipiʻiina o metadata pe a faʻaalia suiga.
  • Galuega "StringTools.unsafeCharAt" fa'aoga mo le fa'aogaina o manoa.
  • eval (fa'amatala): Fa'aopoopo fa'atasiga i le "libuv" i le afifi "eval.luv".
  • eval: fusia i faʻatinoga masani o le "Int64" ma le "UInt64" e ala i le pusa "eval.integers".
  • cs: fa'atinoga o socket UDP.
  • cs: “cs.Syntax” module mo fa'aofi i totonu ole C# code.
  • jvm: Fa'aopoopoina le fu'a "-D jvm.dynamic-level=x" e pulea ai le numera o fa'ata'ita'iga fa'atupuina mo le fa'ailoga malosi. 0 = leai, 1 = fanua faitau/tusi optimization, 2 = auala tapunia i le taimi tuufaatasia.
  • java, jvm: Lagolago mo le fuʻa "--java-lib <directory>".
  • python: threading API faʻatinoga.

Fa'aleleia lautele:

  • "expr is SomeType" e le manaʻomia le afifiina i puipui.
  • Fa'ateleina le fa'amuamua mo fa'aopoopoga ituaiga "@:fa'aoga".
  • Fa'ataga le fa'aogaina o fa'aopoopoga tu'aiga fa'apitoa e ala i le "super".
  • Malosiaga e seti metadata i "@:noDoc" fanua.
  • O le ituaiga fa'amatalaga "Map" ua fa'asolo.
  • Lagolago mo le "@: native" i luga ole enum constructors.
  • Lagolago mo le "@: faʻaaogaina" i luga o faʻamatalaga ituaiga ("typedefs").
  • E fa'aoga e fa'aletonu laina tele "..." e fai ma prefix mo laina mulimuli ane.
  • Tulaga fa'ailoga ua toe fa'aleleia, o fausaga e le ta'ua igoa e sili atu ona liua i fa'amatalaga manino ma "tapuni" pe a mae'a le galuega.
  • Fa'ailoa le ituaiga o galuega e aunoa ma ni finauga e pei o le "()->..." nai lo le "Void->...".
  • O le upu "gaioiga" ua faatagaina e avea o se igoa afifi.
  • Faʻaleleia le faʻaogaina o mea faitino.
  • cs: Faaopoopo le lagolago mo .NET 5.0.
  • cpp: Lagolago mo tagata faufale mo vasega i fafo.
  • php: Fa'aopoopoina le "php.Syntax.customArrayDecl" e fa'ailoa ai se fa'asologa masani.
  • php: Faʻafouina auala i fafo mo galuega eseese ma vasega.
  • php: Faʻatonuina le faʻatinoina o fausaga e le taʻua.
  • hl: Fa'ase'e le tu'ufa'atasiga pe a leai ni suiga i modules.
  • lua: Faʻaaogaina le "hx-lua-simdjson" e faʻasalalau ai le json.
  • jvm: Faʻaititia le CPU uta i le faʻatinoga "sys.thread.Lock".
  • js: Faʻaleleia le fesoʻotaʻiga ma le Google Closure Compiler.
  • Saogalemu Null: Manatunatu i le "@:nullSafety(Off)" pe a ta'utino fesuiaiga: "var @:nullSafety(Off) v".

E le gata i lea, o le faʻaopoopoga i le VSCode faatonu ua faʻafouina i le lomiga fou o le tuʻufaʻatasia, lea na faʻaalia ai faʻamatalaga ma le faʻatupuina o fanua o loʻo misi o fesoʻotaʻiga, vasega faigofie ma faʻapitoa, faʻapea foʻi ma auala o meatotino.

puna: opennet.ru

Faaopoopo i ai se faamatalaga