Te tukunga o te reo hootaka Haxe 4.2

Kei te waatea te tuku o te kete taputapu Haxe 4.2, kei roto ko te reo hotaka taumata-tiketike-maha o te ingoa kotahi me te kaha patopato, he whakahiato whakawhiti me te whare pukapuka paerewa o nga mahi. Ka tautokohia e te kaupapa te whakamaoritanga ki C++, HashLink/C, JavaScript, C#, Java, PHP, Python me Lua, me te whakahiato ki JVM, HashLink/JIT, Flash me Neko bytecode, me te uru atu ki nga kaha taketake o ia papaapapa whaainga. Ka tohatohahia te waehere whakahiato i raro i te raihana GPLv2, a ko te whare pukapuka paerewa me nga miihini mariko HashLink me Neko i whakawhanakehia mo Haxe kua raihanahia i raro i te raihana MIT.

Ko te reo e aro ana ki te whakaputa korero me te kaha patopato. Kei te tautokohia nga tikanga kaupapa-a-ahua, tikanga whanui me te mahi. Ko te wetereo a Haxe e tata ana ki te ECMAScript me te whakawhanui me nga ahuatanga penei i te patopato pateko, te momo-aunoa, te whakataurite tauira, te tikanga, te kaiwhakariterite mo nga koropiko, nga tonotono AST, te GADT (Nga Momo Raraunga Taurangi Whanui), nga momo waitara, nga hanganga ingoamuna, kua ngawari. whakamāramatanga huānga, kīanga mō te whakahiato herenga, te āpiti metadata ki ngā āpure, karaehe me ngā kīanga, aho interpolation ('Ko $ingoa toku ingoa'), momo tawhā ('Matua hou (“foo”)') me te tini ke atu. class Test { static function main() { nga tangata whakamutunga = [ "Elizabeth" => "Patakataka", "Joel" => "Hoahoa" ]; mo (ingoa => mahi i roto i te tangata) { trace('$ingoa he $mahi hei oranga!'); } } }

Nga waahanga hou i te putanga 4.2:

  • Te whakapuaki i nga taurangi pateko me nga mahi i te taumata kōwae, me te kore e takai ki roto i te akomanga.
  • Tautoko mo nga karaehe me nga mahi waitara "matarohia".
  • Ko te whakatinanatanga taketake o nga mahi rereke mo nga papaapapa katoa (haxe.Rest) me te taapiri o te kaiwhakawhanake tohenga “f(...array)”.
  • Te whakatinanatanga o te takahanga takahanga mo nga miro takitahi ("sys.thread.Thread.events").
  • "@:inheritDoc" metadata mo te tuku momo tuhinga / mara.
  • Ko te tautoko mo nga tikanga o waho i runga i nga tüäpapa whäinga katoa.
  • Te tuku whakamua i te kaihanga i raro i tona momo ki te tangohanga ma te whakamahi i te metadata "@:forward.new".
  • Kua taapirihia te kaihanga "EIs" ki te "haxe.macro.Expr".
  • Te kaha ki te hanga rereke momo waitara ki te "@:forward.variance".
  • Te tohu mo te momo "Tetahi" hei "Huri" i te wa e whakakotahi ana i te rereketanga.
  • I taapirihia etahi momo rereke taketake ki te kete "haxe.exceptions".
  • Tautoko mo te taapiri metadata i te wa e whakapuaki ana i nga taurangi.
  • Taumahi "StringTools.unsafeCharAt" i whakamahia mo te whitiwhiti aho.
  • eval (kaiwhakamaori): Kua taapirihia nga here ki te "libuv" i roto i te kete "eval.luv".
  • eval: herenga ki te whakatinanatanga taketake o "Int64" me "UInt64" mā te mōkihi "eval.integers".
  • cs: te whakatinanatanga turanga UDP.
  • cs: “cs.Syntax” kōwae mō ngā kōkuhu rōraina o te waehere C#.
  • jvm: Kua taapirihia te haki "-D jvm.dynamic-level=x" hei whakahaere i te maha o nga arotautanga kua mahia mo te waehere hihiri. 0 = kore, 1 = arotautanga panui / tuhi mara, 2 = katinga tikanga i te wa whakahiato.
  • java, jvm: Tautoko mo te haki "--java-lib <directory>".
  • python: whakauru API miro.

Nga whakapainga whanui:

  • Ko te "expr ko SomeType" kaore e hiahiatia kia takai ki roto i nga reu.
  • Kua piki ake te kaupapa matua mo "@:whakamahi" momo toronga.
  • Whakaaetia te whakamahi i nga momo toronga pateko ma te "super".
  • Te kaha ki te tautuhi metadata ki nga mara "@: noDoc".
  • Ko te momo waitara "Mapi" he mea whakawhiti.
  • Tautoko mo "@: Maori" i runga i nga kaihanga enum.
  • Tautoko mo "@: te whakamahi" mo nga momo whakapuakanga ("typedefs").
  • Ka whakamahia e nga hapa raina maha "..." hei tohumua mo nga rarangi o muri.
  • Kua mahia ano te momo whakatau, he pai ake te huri i nga hanganga ingoamuna ki nga momo maamaa me te "kati" ina oti te mahi.
  • Te whakatau i te momo mahi me te kore tohenga hei "()->..." hei utu mo "Void->...".
  • Ko te kupu matua "mahi" ka whakaaetia hei ingoa kete.
  • Kua pai ake te whakauru o nga taonga.
  • cs: He tautoko taapiri mo .NET 5.0.
  • cpp: Tautoko mo nga kaihanga taketake mo nga akomanga o waho.
  • php: Kua taapirihia te "php.Syntax.customArrayDecl" ki te whakaatu i tetahi huinga taketake.
  • php: Kua whakahoutia nga tikanga o waho mo nga momo mahi me nga karaehe.
  • php: Te whakatinanatanga o nga hanganga ingoamuna.
  • hl: Hukahia te whakahiato mena karekau he huringa ki nga waahanga.
  • lua: Ma te whakamahi "hx-lua-simdjson" ki te tarai i te json.
  • jvm: Kua whakahekehia te utaina CPU i roto i te whakatinanatanga "sys.thread.Lock".
  • js: Kua pai ake te hototahi me te Kaihanga Kati a Google.
  • Haumaru Null: Whakaarohia "@:nullSafety(Off)" ka whakapuaki i nga taurangi: "var @:nullSafety(Off) v".

I tua atu, ko te taapiri ki te ētita VSCode kua whakahoutia ki te putanga hou o te kaitoha, i puta mai nga tohu me te whakatipuranga o nga waahi ngaro o nga atanga, nga karaehe ngawari me te waatea, me nga tikanga rawa.

Source: opennet.ru

Tāpiri i te kōrero