ืžืขืœื“ื•ื ื’ ืคื•ืŸ ื“ื™ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทืš Haxe 4.1

ื‘ื ื™ืžืฆื ื˜ืึธืึธืœืงื™ื˜ ืžืขืœื“ื•ื ื’ ื”ืึทืงืกืข 4.1, ื•ื•ืึธืก ื›ื•ืœืœ ื“ื™ ืžื•ืœื˜ื™-ืคึผืึทืจืึทื“ื™ื’ื ื”ื•ื™ืš-ืžื“ืจื’ื” ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทืš ืžื™ื˜ ื“ื™ ื–ืขืœื‘ืข ื ืึธืžืขืŸ ืžื™ื˜ ืฉื˜ืึทืจืง ื˜ื™ื™ืคึผื™ื ื’, ืึท ืงืจื™ื™ึทื–-ืงืึทืžืคึผื™ื™ืœืขืจ ืื•ืŸ ืึท ื ืึธืจืžืึทืœ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืคื•ืŸ ืคืึทื ื’ืงืฉืึทื ื–. ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืฉื˜ื™ืฆื˜ ืื™ื‘ืขืจื–ืขืฆื•ื ื’ ืฆื• C ++, HashLink / C, ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜, C #, Java, PHP, Python ืื•ืŸ Lua, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ื–ืึทืžืœื•ื ื’ ืฆื• JVM, HashLink / JIT, Flash ืื•ืŸ Neko ื‘ื™ื˜ืขืงืึธื“ืข, ืžื™ื˜ ืึทืงืกืขืก ืฆื• ื“ื™ ื’ืขื‘ื•ื™ืจืŸ ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื– ืคื•ืŸ ื™ืขื“ืขืจ ืฆื™ืœ ืคึผืœืึทื˜ืคืึธืจืžืข. ืงืึทืžืคึผื™ื™ืœืขืจ ืงืึธื“ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ื“ื•ืจืš ืื•ื ื˜ืขืจ ื“ื™ GPLv2 ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ, ืื•ืŸ ื“ื™ ื ืึธืจืžืึทืœ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืื•ืŸ ื•ื•ื™ืจื˜ื•ืึทืœ ืžืืฉื™ื ืขืŸ ื“ืขื•ื•ืขืœืึธืคึผืขื“ ืคึฟืึทืจ ื”ืึทืงืกืข HashLink ะธ Somebody ืื•ื ื˜ืขืจ ื“ื™ MIT ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ.

ืฉืคึผืจืึทืš ืื™ื– ืื•ื™ืกื“ืจื•ืง-ืึธืจื™ืขื ื˜ื™ื“ ืžื™ื˜ ืฉื˜ืึทืจืง ื˜ื™ื™ืคึผื™ื ื’. ืึธื‘ื“ื–ืฉืขืงื˜-ืึธืจื™ืขื ื˜ื™ื“, ื“ื–ืฉืึทื ืขืจื™ืง ืื•ืŸ ืคืึทื ื’ืงืฉืึทื ืึทืœ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ื˜ืขืงื ื™ืงืก ื–ืขื ืขืŸ ื’ืขืฉื˜ื™ืฆื˜. ื”ืึทืงืกืข ืกื™ื ื˜ืึทืงืก ืื™ื– ื ืึธืขื ื˜ ืฆื• ECMAScript ืื•ืŸ ื™ืงืกืคึผืึทื ื“ื– ื“ื™ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืึทื–ืึท ื•ื•ื™ ืกื˜ืึทื˜ื™ืง ื˜ื™ื™ืคึผื™ื ื’, ืึทื•ื˜ืึธื˜ื™ืคึผืข ื™ื ืคืขืจืึทื ืก, ืžื•ืกื˜ืขืจ ื•ื•ืึธืก ืจื™ื›ื˜ืŸ ื–ื™ืš, ื“ื–ืฉืึทื ืขืจื™ืงืก, ื™ื˜ืขืจืึทื˜ืึธืจ-ื‘ืื–ื™ืจื˜ ืคึฟืึทืจ ืœื•ืคึผืก, AST ืžืึทืงืจืึธืก, GADT (ื’ืขื ืขืจืึทืœื™ื–ืขื“ ืึทืœื’ืขื‘ืจืึทื™ืง ื“ืึทื˜ืึท ื˜ื™ื™ืคึผืก), ืึทื‘ืกื˜ืจืึทืงื˜ ื˜ื™ื™ืคึผืก, ืึทื ืึทื ืึทืžืึทืก ืกื˜ืจืึทืงื˜ืฉืขืจื–, ืกื™ืžืคึผืœืึทืคื™ื™ื“ ืžืขื ื’ืข ื“ืขืคึฟื™ื ื™ืฆื™ืข, ืงืึทื ื“ื™ืฉืึทื ืึทืœ ื–ืึทืžืœื•ื ื’ ืื•ื™ืกื“ืจื•ืงืŸ, ืึทื˜ืึทื˜ืฉื™ื ื’ ืžืขื˜ืึทื“ืึทื˜ืึท ืฆื• ืคืขืœื“ืขืจ , ืงืœืืกืŸ ืื•ืŸ ืื•ื™ืกื“ืจื•ืงืŸ, ืฉื˜ืจื™ืงืœ ื™ื ื˜ืขืจืคึผืึธืœืึทื˜ื™ืึธืŸ ("'ืžื™ื™ึทืŸ ื ืึธืžืขืŸ ืื™ื– $ ื ืึธืžืขืŸ'"), ื˜ื™ืคึผ ืคึผืึทืจืึทืžืขื˜ืขืจืก ('ื ื™ื™ึทืข ื”ื•ื™ืคึผื˜ ("ืคืึธืึธ")') ืื•ืŸ ืืกืืš ืžืขืจ.

ืงืœืึทืก ื˜ืขืกื˜ {
ืกื˜ืึทื˜ื™ืง ืคึฟื•ื ืงืฆื™ืข ื”ื•ื™ืคึผื˜ () {
ืœืขืฆื˜ ืžืขื ื˜ืฉืŸ = [
"Elizabeth" => "ืคึผืจืึธื’ืจืึทืžืžื™ื ื’",
"ื™ื•ืืœ" => "ื“ื™ื–ื™ื™ืŸ"
];

ืคึฟืึทืจ (ื ืึธืžืขืŸ => ืึทืจื‘ืขื˜ ืื™ืŸ ืžืขื ื˜ืฉืŸ) {
trace ('$ ื ืึธืžืขืŸ ื˜ื•ื˜ $ ืึทืจื‘ืขื˜ ืคึฟืึทืจ ืึท ืœืขื‘ืขื“ื™ืง!');
}
}
}

ื ื™ื™ึทืข ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืื™ืŸ ื•ื•ืขืจืกื™ืข 4.1:

  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืขืง ืจืขืงื•ืจืกื™ืึธืŸ ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทืŸ.
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืึท ื ื™ื™ึทืข ื™ื•ื ืึทืคื™ื™ื“ ืึทืคึผื™ ืคึฟืึทืจ ื•ื™ืกื ืขื ื”ืึทื ื“ืœื™ื ื’.
  • ื“ื™ ืงืึทื ืกื˜ืจืึทืงื˜ "ืคึผืจื•ื‘ื™ืจืŸ {} ื›ืึทืคึผืŸ (ืข) {}" ืื™ื– ืขืจืœื•ื™ื‘ื˜ ื•ื•ื™ ืึท ืกื˜ืขื ืึธื’ืจืึทืคื™ืข ืคึฟืึทืจ "ืคึผืจื•ื‘ื™ืจืŸ {} ื›ืึทืคึผืŸ (ืข: ื”ืึทืงืกืข.ืขืงืกืขืคึผืฉืึทืŸ) {}".
  • ืฆื•ื’ืขื’ืขื‘ืŸ SSL ืฉื˜ื™ืฆืŸ ืฆื• ื“ื™ ืขื•ื•ืึทืœ ื™ื‘ืขืจื–ืขืฆืขืจ.
  • ื“ืขืจ ืฆื™ืœ JVM ืื™ื– ื ื™ื˜ ืžืขืจ ื’ืขืจืขื›ื ื˜ ื•ื•ื™ ื™ืงืกืคึผืขืจืžืขื ืึทืœ.
  • ืคึฟืึทืจ ืฉืคึผืจืึทืš ืกืขืจื•ื•ื™ืจืขืจ ืคึผืจืึธื˜ืึธืงืึธืœ, ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ "ื’ืึธื˜ืึธ ื™ืžืคึผืœืขืžืขื ื˜ืึทื˜ื™ืึธืŸ" ืื•ืŸ "ื’ืขืคึฟื™ื ืขืŸ ืจืขืคึฟืขืจืขื ืฆืŸ" ืคืึทื ื’ืงืฉืึทื ื– ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ.
  • ื™ืžืคึผืจื•ื•ื•ื“ ื ืึทืžื™ื ื’ ืคื•ืŸ ืฆื™ื™ึทื˜ื•ื•ื™ื™ึทืœื™ืง ื”ื™ื’ืข ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืื™ืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ืงืึธื“. ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ื™ื‘ืขืจื™ืง "ืฆื•ืจื™ืงืงื•ืžืขืŸ;" ืื™ืŸ ืคื™ื™ึทืœ ืคืึทื ื’ืงืฉืึทื ื– ืึธืŸ ืึท ืฆื•ืจื™ืงืงื•ืžืขืŸ ื•ื•ืขืจื˜.
  • ืึทืงืกืขืก ืงืึทืžื‘ืึทื ื™ื™ืฉืึทื ื– (ื‘ืึทืงื•ืžืขืŸ, ืคืขืœื™ืงื™ื™ึทื˜) ื–ืขื ืขืŸ ืขืจืœื•ื™ื‘ื˜ ืื•ื™ืฃ ืคืขืœื“ืขืจ (ื‘ืœื•ื™ื– ื’ืขื˜ืขืจ, ืคืขืœื™ืงื™ื™ึทื˜ ืึทืกื™ื™ื ืžืึทื ื˜ ื ืึทื˜ื•ืจ).
  • ืœืึธื–ืŸ ื™ื ืงืจืึทืžืึทื ื˜ ืื•ืŸ ื“ืขืงืจืขืžืขื ื˜ ืึธืคึผืขืจื™ื™ื˜ืขืจื– ืคึฟืึทืจ ืคืขืœื“ืขืจ ืึทื‘ืกื˜ืจืึทืงื˜ ื˜ื™ื™ืคึผืก.
  • ื™ืžืคึผืจื•ื•ื•ื“ ื™ื ืœื™ื™ื ื™ื ื’ ืคื•ืŸ ืœื•ืคึผืก ื ื™ืฆืŸ ืึทื ืึทื ืึทืžืึทืก ื™ื˜ืขืจื™ื™ื˜ืขืจื–.
  • js: ื™ืžืคึผืจื•ื•ื•ื“ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ StringMap ืคึฟืึทืจ ES5.
  • js: ื“ื™ ื“ื•ืจ ืคื•ืŸ ืœืึธื–ืŸ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ ืฆื• ื“ื™ ืงืึทืžืคึผื™ื™ืœืขืจ ืึธืคึผืฆื™ืข "-D js-es = 6", ื“ื™ ื“ื•ืจ ืคื•ืŸ ES6 ืงืœืืกืŸ ืื™ื– ื™ืžืคึผืจื•ื•ื•ื“.
  • lua: "ืกื˜ืจื™ื ื’ื™ื˜ืขืจืึทื˜ืึธืจ" ืึธืคึผื˜ื™ืžื™ื–ืขื“, ื˜ืขื•ืช ื”ืึทื ื“ืœื™ื ื’ ื™ืžืคึผืจื•ื•ื•ื“.
  • php: ืึธืคึผื˜ื™ืžื™ื–ืขื“ "Std.isOfType" ืคึฟืึทืจ ื‘ืึทื–ืข ื˜ื™ื™ืคึผืก.
  • php: ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ืขืจื™ื™ื– ืื™ืฆื˜ ื™ื ืกื˜ืจื•ืžืขื ื˜ ื“ื™ ื’ืขื‘ื•ื™ืจืŸ ื™ื ื˜ืขืจืคื™ื™ืกื™ื– "ื™ื˜ืขืจืึทื˜ืึธืจ", "ื™ื˜ืขืจืึทื˜ืึธืจ ืึทื’ื’ืจืขื’ืึทื˜ืข", "ืงืึธื•ื ื˜ืึทื‘ืœืข".
  • cs: ืฆื•ื’ืขื’ืขื‘ืŸ ืžืขื˜ืึทื“ืึทื˜ืึท "@:assemblyMeta" ืื•ืŸ "@:assemblyStrict".
  • ืคึผื™ื˜ื”ืึธืŸ: ืฆื•ื’ืขื’ืขื‘ืŸ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ "__ ื›ึผื•ืœืœ__" ืฆื• ืึทื ืึธื ื™ืžืข ื‘ืึทื ื•ืฆืขืจืก ืึทื‘ื“ื–ืฉืขืงืฅ
    ืื•ืŸ "__getitem__", ื•ื•ืึธืก ืึทืœืึทื•ื– ื–ื™ื™ ืฆื• ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ื•ื•ื™ ื“ื™ืงืฉืึทื ืขืจื™ื– ืื™ืŸ ื“ื™ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ืงืึธื“.

  • jvm: ื‘ืื˜ื™ื™ื˜ื™ืง ื™ืžืคึผืจื•ื•ื•ื“ ืคืึธืจืฉื˜ืขืœื•ื ื’ ื“ืึทื ืง ืฆื• ืึท ื ื™ื™ึทืข ื•ื•ืขื’ ืคื•ืŸ ืึทืงืกืขืกื™ื ื’ ื˜ื™ื™ืคึผื˜ ืคืึทื ื’ืงืฉืึทื ื– ืื•ืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ ื ืึธืš ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ืื™ืŸ ืงืึทืกืขืก ื•ื•ืขืŸ ืึทื‘ื“ื–ืฉืขืงืฅ ื–ืขื ืขืŸ ื’ืขื ื™ืฆื˜ ื•ื•ื™ ืึทื ืึธื ื™ืžืข ื‘ืึทื ื•ืฆืขืจืก ืกื˜ืจืึทืงื˜ืฉืขืจื– (ื“ื™ื ืึทืžื™ืฉ ืคืึทืจืžืึธื’ ืœื•ืงืึทืคึผ ืื™ื– ืคึผืจื™ื•ื•ืขื ื˜ื™ื“):
    ืžืขืœื“ื•ื ื’ ืคื•ืŸ ื“ื™ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทืš Haxe 4.1

ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืื™ืŸ ื“ื™ ื ืึธืจืžืึทืœ ื‘ื™ื‘ืœื™ืึธื˜ืขืง:

  • ืฆื•ื’ืขื’ืขื‘ืŸ "Array.contains" ืคึฟื•ื ืงืฆื™ืข.
  • ืฆื•ื’ืขื’ืขื‘ืŸ "Array.keyValueIterator", ื•ื•ืึธืก ื™ืžืคึผืœืึทืžืึทื ืฅ ืฉืœื™ืกืœ-ื•ื•ืขืจื˜ ื™ื˜ืขืจืึทื˜ื™ืึธืŸ ืคึฟืึทืจ ืขืจื™ื™ื– ("ืคึฟืึทืจ (ืฉืœื™ืกืœ => ื•ื•ืขืจื˜ ืื™ืŸ ืžืขื ื’ืข)").
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืงืึทื ืกื˜ืจื™ื™ื ืฅ ื˜ื™ืคึผ "ื”ืึทืงืกืข.ืงืึธื ืกื˜ืจื™ื™ื ื˜ืก.ื ืึธื˜ื•ื•ืึธื™ื“".
  • ื“ื™ ืคืึทื ื’ืงืฉืึทื ื– "findIndex" ืื•ืŸ "ืคืึธืœื“ื™" ื–ืขื ืขืŸ ืฆื•ื’ืขื’ืขื‘ืŸ ืฆื• ื“ื™ "Lambda" ืงืœืึทืก.
  • ื™ืžืคึผืœืึทืžืขื ืึทื“ "ืžืขื ื’ืข ืึทืงืกืขืก" (ืึทืงืกืขืก ื“ื•ืจืš "ืึทืจืจ [ื™]") ืื•ืŸ ืฉืœื™ืกืœ-ื•ื•ืขืจื˜ ื™ื˜ืขืจืึทื˜ื™ืึธืŸ ืคึฟืึทืจ "ื”ืึทืงืกืข.ื“ืก.ื”ืึทืฉืžืึทืคึผ".
  • jvm: ื™ืžืคึผืœืึทืžืขื ืึทื“ JVM-ืกืคึผืขืฆื™ืคื™ืฉ ื•ื•ืขืจืกื™ืขืก ืคื•ืŸ "ืกื˜ืจื™ื ื’ืžืึทืคึผ", "ืกื™ืก.ื˜ื”ืจืขืึทื“.ืœืึธืงืง", "ืกื™ืก.ื˜ืจืขื“.ืคืึธื“ืขื".
  • java/jvm: ื’ืขื•ื•ื™ื™ื ื˜ ื’ืขื‘ื•ื™ืจืŸ ื™ืžืคึผืœืึทืžืึทื ืฅ ืคื•ืŸ "MD5", "SHA-1" ืื•ืŸ "SHA-256" ืคึฟืึทืจ ื“ื™ "haxe.crypto" ืžืึทื“ื–ืฉื•ืœื–.
  • ืžืึทืงืจืึธื•: ืฆื•ื’ืขื’ืขื‘ืŸ "haxe.macro.Context.containsDisplayPosition(pos)".
  • nullsafety: "ืฉื˜ืจืขื ื’" ืžืึธื“ืข ืื™ื– ืื™ืฆื˜ ื‘ืื”ืื ื“ืœื˜ ื•ื•ื™ ืื™ื™ืŸ ื˜ืจืขื“ื™ื“; ืฆื•ื’ืขื’ืขื‘ืŸ "ืกื˜ืจื™ืงื˜ื˜ื”ืจืขืึทื“ืขื“" ืžืึธื“ืข.
  • "Std.is" ืื™ื– ื“ื™ืคึผืจื™ืฉื™ื™ื™ื˜ื™ื“ ืื™ืŸ ื˜ื•ื™ื•ื•ืข ืคื•ืŸ โ€‹โ€‹"Std.isOfType".
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืึท ื•ื•ืืจืขื ื•ื ื’ ื•ื•ืขืŸ ื ื™ืฆืŸ ื”ื™ื’ืข ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืึธืŸ ื•ื•ืึทืœื•ืขืก ืื™ืŸ ืงืœืึธื•ื–ืฉืขืจื–.
  • js: "ื ื™ื˜ื™ืคึผืขื“ __js__ (ืงืึธื“, ืึทืจื’ืก)" ืื™ื– ื“ื™ืคึผืจื™ืฉื™ื™ื™ื˜ื™ื“, ืจื™ืคึผืœื™ื™ืกื˜ ื“ื•ืจืš "js.Syntax.code (ืงืึธื“, ืึทืจื’ืก)".
  • php/neko: "neko.Web" ืื•ืŸ "php.Web" ื–ืขื ืขืŸ ื“ื™ืคึผืจื™ืฉื™ื™ื™ื˜ื™ื“ ืื•ืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืืจื™ื‘ืขืจื’ืขืคืืจืŸ ืฆื• ื“ื™ "hx4compat" ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืฉืคึผืขื˜ืขืจ.

ืื™ืŸ ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืžืขืœื“ื•ื ื’ ื–ืขื ืขืŸ ืคึผืœืึทื ื ืขื“:

  • ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืคื•ืŸ ืคึผืขืงืœ ืคืึทืจื•ื•ืึทืœื˜ืขืจ ื”ืึทืงืกืขืœื™ื‘.
  • ืึทืกื™ื ื˜ืฉืจืึธื ืึธื•ืก ืกื™ืกื˜ืขื ืึทืคึผื™ ื‘ืื–ื™ืจื˜ libuv.
  • ืงืึธืจืึธื•ื˜ื™ื ืขืก.
  • ื“ื™ืงืœืขืจื™ื ื’ ืžืึทื“ื–ืฉืึทืœืขืจ ืกื˜ืึทื˜ื™ืง ืคืึทื ื’ืงืฉืึทื ื– ืื•ืŸ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืึธืŸ ืงืจื™ื™ื™ื˜ื™ื ื’ ืงืœืืกืŸ (ืฉื•ื™ืŸ ื‘ื ื™ืžืฆื ืื™ืŸ ื ื™ื™ื˜ืœื™ ื‘ื™ืœื“ืขืจ).

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’