Tuuina atu o le gagana polokalame Haxe 4.1

Avanoa fa'amalologa meafaigaluega Haxe 4.1, lea e aofia ai le tele-paradigm high-level programming language of the same name with strong typing, a cross-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. Fa'ailoga tu'ufa'atasi tufatufaina e i lalo ole laisene GPLv2, ma le faletusi masani ma masini faʻapitoa na atiaʻe mo Haxe HashLink и neko i lalo ole laisene MIT.

O le gagana fa'aali fa'aaliga ma le lolomi malosi. O lo'o lagolagoina faiga fa'apolokalame fa'atatau i mea, lautele ma fa'atinoga. Haxe syntax e latalata ile ECMAScript ma fa'alautele o ona foliga e pei o le ta'i fa'amau, autotype inference, fa'ata'ita'iga fa'atusa, generics, fa'avae fa'ata'ita'i mo matasele, AST macros, GADT (Generalized Algebraic Data Types), ituaiga fa'apitoa, fausaga e le ta'ua, fa'auigaina fa'afaigofieina, fa'amatalaga tu'ufa'atasiga, fa'apipi'i metadata i fanua. , vasega ma fa'aaliga, va'aiga manoa (“'O lo'u igoa o le $igoa'"), fa'aigoa ta'iala ('Autu fou ("foo")') ma sili atu.

vasega Su'ega {
static function main() {
tagata mulimuli = [
"Elizabeth" => "Polokalame",
"Joel" => "Mamanu"
];

mo (igoa => galuega i tagata) {
trace('$igoa e $galuega mo se ola!');
}
}
}

Fa'aaliga fou ile version 4.1:

  • Fa'aopoopo le si'usi'u recursion optimization.
  • Fa'aopoopoina se API tu'ufa'atasi fou mo le fa'aogaina fa'apitoa.
  • O le fausaga "try {} catch(e) {}" ua faatagaina e fai ma faapuupuu mo le "try {} catch(e: haxe.Exception) {}".
  • Fa'aopoopoina le lagolago SSL i le fa'aliliu upu.
  • O le sini JVM e le o toe faʻataʻitaʻiina.
  • Mo le Language Server Protocol, lagolago mo le "Goto Implementation" ma le "Find references" ua faʻaopoopoina galuega.
  • Fa'aleleia le fa'aigoaina o suiga fa'apitonu'u le tumau i le fa'ailoga fa'atupu. Ave'esea le "toe fo'i mai;" i arrow galuega e aunoa ma se tau toe faafoi.
  • O tu'ufa'atasiga avanoa (maua, fa'aletonu) e fa'atagaina i luga o fanua (na'o le tagata e maua, amio le fa'atonuina).
  • Fa'ataga fa'aopoopoga ma fa'aitiitiga fa'alapotopotoga mo fanua ituaiga pu'upu'u.
  • Fa'aleleia atili le fa'aogaina o fa'amaufa'ailoga e fa'aogaina ai le fa'asinomaga e le ta'ua.
  • js: Faʻaleleia le faʻatinoga o le StringMap mo le ES5.
  • js: Fa'atupuina o let variables ua fa'aopoopoina i le filifiliga tu'ufa'atasi "-D js-es=6", fa'atupuina o vasega ES6 ua fa'aleleia.
  • lua: "StringIterator" sili ona lelei, faʻaleleia le taulimaina o mea sese.
  • php: Optimized "Std.isOfType" mo ituaiga faavae.
  • php: Fausia fa'asologa o lo'o fa'atinoina nei feso'ota'iga masani "Iterator", "IteratorAggregate", "Countable".
  • cs: Faʻaopoopo metadata "@:assemblyMeta" ma le "@:assemblyStrict".
  • python: faʻaopoopo le faʻatinoga o le "__contains__" i mea e le taʻua
    ma le "__getitem__", lea e mafai ai ona faʻaaogaina e fai ma lomifefiloi i le faʻailoga ua gaosia.

  • jvm: Faʻaleleia atili le faʻatinoga faʻafetai i se auala fou e maua ai galuega faʻapipiʻi ma faʻatupuina fesoʻotaʻiga faʻaopoopo i mataupu o loʻo faʻaogaina ai mea e fai ma fausaga e le taʻua (ua taofia le suʻesuʻeina o meatotino):
    Tuuina atu o le gagana polokalame Haxe 4.1

Fa'aleleia ile faletusi masani:

  • Fa'aopoopoina le galuega "Array.contains".
  • Fa'aopoopoina le "Array.keyValueIterator", o lo'o fa'atinoina ai le fa'asologa o mea taua mo arrays ("mo (key => value in array)").
  • Fa'aopoopo le ituaiga fa'alavelave "haxe.Constraints.NotVoid".
  • O le "findIndex" ma le "foldi" galuega ua faaopoopo i le vasega "Lambda".
  • Fa'atinoina le "avanoa fa'asologa" (fa'aoga e ala i le "arr[i]") ma le fa'asologa o taua mo le "haxe.ds.HashMap".
  • jvm: Fa'atinoina JVM-fa'apitoa versions o le "StringMap", "sys.thread.Lock", "sys.thread.Thread".
  • java/jvm: Fa'aaogaina fa'atinoga fa'ale-natura o le "MD5", "SHA-1" ma le "SHA-256" mo le "haxe.crypto" modules.
  • macro: Faʻaopoopo "haxe.macro.Context.containsDisplayPosition(pos)".
  • nullsafety: "Strict" mode ua va'aia nei o se filo tasi; faaopoopo le "StrictThreaded" mode.
  • "Std.is" ua le toe fa'aaogaina ona o le "Std.isOfType".
  • Faʻaopoopoina se lapataiga pe a faʻaogaina suiga faʻapitonuʻu e aunoa ma ni tau i tapuni.
  • js: "untyped __js__(code, args)" ua le toe faaaogaina, suia i le "js.Syntax.code(code, args)".
  • php/neko: "neko.Web" ma le "php.Web" ua le toe faaaogaina ma o le a siitia i le faletusi "hx4compat" mulimuli ane.

I le isi fa'asalalauga ua fuafuaina:

  • Fa'aleleia le pule o pusa haxelib.
  • Asynchronous system API fa'avae libuv.
  • Coroutines.
  • Fa'ailoaina o galuega fa'apitoa ma fesuiaiga e aunoa ma le faia o vasega (ua maua i fale po'o fale).

puna: opennet.ru

Faaopoopo i ai se faamatalaga