Ho lokolloa ha puo ea lenaneo Haxe 4.2

Ho lokolloa ha Haxe 4.2 toolkit ho fumaneha, e kenyeletsang puo ea lenaneo la maemo a phahameng a paradigm ea lebitso le le leng le nang le ho thaepa ka matla, motlatsi oa li-cross-compiler le laebrari e tloaelehileng ea mesebetsi. Morero o tšehetsa phetolelo ho C ++, HashLink / C, JavaScript, C #, Java, PHP, Python le Lua, hammoho le ho bokella ho JVM, HashLink / JIT, Flash le Neko bytecode, ka ho fihlella bokhoni ba tlhaho ba sethaleng se seng le se seng se lebisitsoeng. Khoutu ea komporo e ajoa tlasa laesense ea GPLv2, mme laeborari e tloaelehileng le mechini e fumanehang ea HashLink le Neko e ntlafalitsoeng bakeng sa Haxe li fuoe laesense tlasa laesense ea MIT.

Puo e shebane le polelo ka ho ngola ka matla. Mekhoa ea mananeo a nang le sepheo, e tloaelehileng le e sebetsang e tšehetsoa. Syntax ea Haxe e haufi le ECMAScript 'me e e atolosa ka likarolo tse kang ho thaepa ka mokhoa o tsitsitseng, tlhaloso ea mofuta oa auto-type, paterone e bapisang, li-generics, iterator-based for loops, AST macros, GADT (Generalized Algebraic Data Types), mefuta e sa bonahaleng, meaho e sa tsejoeng, e nolofalitsoeng. litlhaloso tsa lihlopha, lipolelo bakeng sa ho bokella maemo, ho kopanya metadata masimong, lihlopha le lipolelo, tlhaloso ea likhoele ('Lebitso la ka ke $name'), mefuta ea mefuta ('New Main("foo")') le tse ling tse ngata. Tlhahlobo ea sehlopha {static function main() {final people = ["Elizabeth" => "Programming", "Joel" => "Moqapi"]; bakeng sa (lebitso => ​​mosebetsi ho batho) {trace (‘$lebitso le etsa $ mosebetsi bakeng sa ho iphelisa!’); }}}

Likarolo tse ncha ho mofuta oa 4.2:

  • Ho phatlalatsa lintho tse feto-fetohang le mesebetsi boemong ba mojule, ntle le tlhoko ea ho li phuthela ka sehlopha.
  • Tšehetso bakeng sa lihlopha tsa "classic" tse sa bonahaleng le mesebetsi.
  • Tšebeliso ea tlhaho ea mesebetsi e fapaneng bakeng sa lipolanete tsohle tse shebiloeng (haxe.Rest) le tlatsetso ea "f(...array)".
  • Ts'ebetsong ea loop ea ketsahalo bakeng sa likhoele ka bomong ("sys.thread.Thread.events").
  • "@:heritDoc" metadata bakeng sa ho rua mofuta oa litokomane tsa tšimo.
  • Mokhoa oa ho kenya ts'ehetso bakeng sa mekhoa ea kantle ho li-platform tsohle tse shebiloeng.
  • Ho fetisetsa sehahi se ipapisitseng le mofuta oa sona ho abstract ho sebelisoa metadata ea "@:forward.new".
  • E kentse sehahi sa "EIs" ho "haxe.macro.Expr".
  • Bokhoni ba ho etsa mofuta o sa utloahaleng ka "@:forward.variance".
  • Kemelo ea mofuta oa "Any" joalo ka "Dynamic" ha o kopanya phapang.
  • E kentse mefuta e meng ea mokhelo sephuthelong sa "haxe.exceptions".
  • Ts'ehetso ea ho hokela metadata ha ho phatlalatsoa mefuta e fapaneng.
  • Mosebetsi "StringTools.unsafeCharAt" e sebelisetsoang ho pheta lithapo.
  • eval (mofetoleli): E kentse litlamo ho "libuv" ka har'a sephutheloana sa "eval.luv".
  • eval: tlamahano ea ts'ebetsong ea "Int64" le "UInt64" ka "eval.integers" sephutheloana.
  • cs: Ts'ebetsong ea socket ea UDP.
  • cs: "cs.Syntax" module bakeng sa ho kenya ka hare ho khouto ea C #.
  • jvm: E kentse folakha ea "-D jvm.dynamic-level=x" ho laola palo ea lintlafatso tse hlahisoang bakeng sa khoutu e matla. 0 = ha ho letho, 1 = ts'ebetso ea ho bala / ho ngola tšimong, 2 = ho koaloa ha mokhoa ka nako ea ho bokella.
  • java, jvm: Tšehetso bakeng sa "--java-lib " folakha.
  • python: ho kenya ts'ebetsong ea API.

Lintlafatso tse akaretsang:

  • "expr is SomeType" ha e hloke ho phutheloa ka masakaneng.
  • Keketseho ea bohlokoa bakeng sa "@:sebelisa" likeketso tsa mofuta.
  • E lumella ts'ebeliso ea li-extensions tsa mofuta o tsitsitseng ka "super".
  • Bokhoni ba ho beha metadata ho "@:noDoc" masimong.
  • Mofuta oa "Mapa" o fetotsoeng o fetotsoe.
  • Tšehetso bakeng sa "@:native" ho baetsi ba enum.
  • Tšehetso bakeng sa "@:using" ho liphatlalatso tsa mofuta ("typedefs").
  • Liphoso tse ngata li sebelisa "..." joalo ka sehlongwapele sa mela e latelang.
  • Tlhaloso ea mofuta e se e hlophisitsoe bocha, meaho e sa tsejoeng e fetoleloa hamolemo ho mefuta e hlakileng 'me e "koetsoe" ha ts'ebetso e felile.
  • Ho fana ka mofuta oa ts'ebetso ntle le likhang joalo ka "()->..." sebakeng sa "Void-> ...".
  • Lentsoe la sehlooho "function" le lumelletsoe joalo ka lebitso la sephutheloana.
  • Ntlafatso ya kalatso ya dintho.
  • cs: Tšehetso e ekelitsoeng bakeng sa .NET 5.0.
  • cpp: Tšehetso bakeng sa bahahi ba matsoalloa bakeng sa lihlopha tsa kantle.
  • php: E ​​kentsoe "php.Syntax.customArrayDecl" ho phatlalatsa sehlopha sa matsoalloa.
  • php: Mekhoa e ntlafalitsoeng ea kantle bakeng sa mesebetsi le litlelase tse fapaneng.
  • php: Ts'ebetsong e ntlafalitsoeng ea meaho e sa tsejoeng.
  • hl: Tlohela ho bokella haeba ho se na liphetoho ho li-module.
  • lua: Ho sebelisa "hx-lua-simdjson" ho hlalosa json.
  • jvm: Moroalo o fokotsehileng oa CPU ts'ebetsong ea "sys.thread.Lock".
  • js: Tšebelisano e ntlafetseng le Google Closure Compiler.
  • Null Safety: Nahana ka "@:nullSafety(Off)" ha o phatlalatsa mefuta e fapaneng: "var @:nullSafety(Off) v".

Hape, tlatsetso ho mohlophisi oa VSCode e nchafalitsoe ho mofuta o mocha oa moqapi, moo lintlha li hlahileng ka tlhahiso ea libaka tse sieo tsa li-interfaces, lihlopha tse bonolo le tse sa bonahaleng, hammoho le mekhoa ea thepa.

Source: opennet.ru

Eketsa ka tlhaloso