Famoahana ny fiteny fandaharana Haxe 4.2

Misy ny famoahana ny Haxe 4.2 Toolkit, izay ahitana ny fiteny fandaharana avo lenta multi-paradigma amin'ny anarana mitovy amin'ny fanoratana mafy, mpanangona cross-compiler ary tranomboky mahazatra. Ny tetikasa dia manohana ny fandikana amin'ny C ++, HashLink/C, JavaScript, C#, Java, PHP, Python ary Lua, ary koa ny fanangonana amin'ny JVM, HashLink/JIT, Flash ary Neko bytecode, miaraka amin'ny fidirana amin'ny fahaiza-miaina amin'ny sehatra kendrena tsirairay. Ny kaody compiler dia zaraina amin'ny alàlan'ny fahazoan-dàlana GPLv2, ary ny tranomboky mahazatra sy ny milina virtoaly HashLink sy Neko novolavolaina ho an'ny Haxe dia nahazo alalana tamin'ny fahazoan-dàlana MIT.

Ny fiteny dia miompana amin'ny fitenenana miaraka amin'ny fanoratana mafy. Tohanana ny teknika fandaharana miompana amin'ny tanjona, generic ary functional. Ny syntax an'i Haxe dia manakaiky ny ECMAScript ary manitatra azy io miaraka amin'ny endri-javatra toy ny fanoratana static, inference auto-type, mampifanaraka ny lamina, generics, iterator-based for loops, AST macros, GADT (Generalized Algebraic Data Types), karazana abstract, rafitra tsy mitonona anarana, notsorina. famaritana arrays, fomba fiteny ho an'ny fitambarana fepetra, fametahana metadata amin'ny saha, kilasy sy fitenenana, interpolation string ('Ny anarako dia $name'), karazana masontsivana (' Main("foo")') sy ny maro hafa. class Test { static function main() { final people = [ "Elizabeth" => "Programming", "Joel" => "Design" ]; ho an'ny (anarana => asa amin'ny olona) { trace('$anarana no manao $asa ho fivelomana!'); } } }

Endri-javatra vaovao amin'ny dikan-4.2:

  • Fanambarana ny fari-pitsipika sy ny fiasa static eo amin'ny haavon'ny môdely, tsy mila mametaka azy ireo ao anaty kilasy.
  • Fanohanana ny kilasy sy ny asa abstract "classic".
  • Fampiharana teratany ny asa variadic ho an'ny sehatra rehetra kendrena (haxe.Rest) ary ny fanampin'ny mpandraharaha fanitarana hevitra “f(...array)”.
  • Fampiharana famoriana hetsika ho an'ny kofehy tsirairay (“sys.thread.Thread.events”).
  • "@:inheritDoc" metadata ho an'ny fandovàna karazana / saha antontan-taratasy.
  • Fomba fanohanana be loatra amin'ny fomba ivelany amin'ny sehatra kendrena rehetra.
  • Mandrosoa ny mpanorina eo ambanin'ny karazana azy amin'ny abstract mampiasa ny metadata "@:forward.new".
  • Nampiana mpanorina "EIs" amin'ny "haxe.macro.Expr".
  • Fahaizana manao variana karazana abstract miaraka amin'ny "@: forward.variance".
  • Fanehoana ny karazana "Any" ho "Dynamic" rehefa mampiray ny fiovaovana.
  • Nampiana karazana exception fototra sasany amin'ny fonosana "haxe.exceptions".
  • Fanohanana amin'ny fametahana metadata rehefa manambara fari-piainana.
  • Fampiasa "StringTools.unsafeCharAt" ampiasaina amin'ny fanodinana tady.
  • eval (mpandika teny): Nampiana fatorana amin'ny "libuv" ao anaty fonosana "eval.luv".
  • eval: fatorana amin'ny fampiharana teratany "Int64" sy "UInt64" amin'ny alàlan'ny fonosana "eval.integers".
  • cs: fampiharana socket UDP.
  • cs: maody “cs.Syntax” ho an'ny fampidirana an-tsipika ny kaody C#.
  • jvm: Nampiana ny saina “-D jvm.dynamic-level=x” mba hifehezana ny isan'ny fanatsarana natao ho an'ny kaody mavitrika. 0 = tsy misy, 1 = fanatsarana mamaky/manoratra saha, 2 = fomba fanakatonana amin'ny fotoana fanangonana.
  • java, jvm: Fanohanana ny saina "--java-lib ".
  • python: fampiharana API threading.

Fanatsarana ankapobeny:

  • "expr dia SomeType" dia tsy mila fonosina anaty fononteny.
  • Nitombo ny laharam-pahamehana ho an'ny fanitarana karazana "@: fampiasana".
  • Mamela ny fampiasana fanitarana karazana static amin'ny alàlan'ny "super".
  • Fahaizana mametraka metadata amin'ny saha "@:noDoc".
  • Ny karazana abstract "Map" dia natao transitive.
  • Fanohanana ny "@: native" amin'ny mpamorona enum.
  • Fanohanana ny "@: fampiasana" amin'ny fanambarana karazana ("typedefs").
  • Ny hadisoana amin'ny andalana maro dia mampiasa "..." ho tovana ho an'ny andalana manaraka.
  • Nohavaozina ny karazana inference, ny rafitra tsy mitonona anarana dia avadika tsara kokoa ho karazana mazava ary "nakatona" rehefa vita ny asa.
  • Famaritana ny karazana asa tsy misy tohan-kevitra ho "()->..." fa tsy "Void->...".
  • Ny teny fanalahidy "function" dia avela ho anarana fonosana.
  • Nohatsaraina inlining ny zavatra.
  • cs: Fanampiana fanampiny ho an'ny .NET 5.0.
  • cpp: Fanohanana ireo mpanamboatra teratany ho an'ny kilasy ivelany.
  • php: Nampiana "php.Syntax.customArrayDecl" hanambarana laharan-tany.
  • php: Fomba ivelany nohavaozina ho an'ny fiasa sy kilasy samihafa.
  • php: Fampiharana tsara ny rafitra tsy mitonona anarana.
  • hl: Tsidiho ny fanangonana raha tsy misy fiovana amin'ny modules.
  • lua: Mampiasa "hx-lua-simdjson" hametahana json.
  • jvm: Mampihena ny enta-mavesatra CPU amin'ny fampiharana "sys.thread.Lock".
  • js: Nohatsaraina ny fifanarahana amin'ny Google Closure Compiler.
  • Null Safety: Diniho ny "@:nullSafety(Off)" rehefa manambara ny fari-piarovana: "var @:nullSafety(Off) v".

Ary koa, ny fanampin'ny tonian-dahatsoratra VSCode dia nohavaozina amin'ny dikan-teny vaovao amin'ny mpamoron-kira, izay nahitana ny soso-kevitra miaraka amin'ny taranaka tsy hita eo amin'ny sehatry ny interface, kilasy tsotra sy abstract, ary koa ny fomba fananana.

Source: opennet.ru

Add a comment