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