Π―Π·ΡΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ
class Test {
static function main() {
final people = [
«Elizabeth» => «Programming»,
«Joel» => «Design»
];
for (name => job in people) {
trace(‘$name does $job for a living!’);
}
}
}
ΠΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΈ 4.1:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Ρ Π²ΠΎΡΡΠΎΠ²ΠΎΠΉ ΡΠ΅ΠΊΡΡΡΠΈΠΈ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ API Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.
- Π Π°Π·ΡΠ΅ΡΠ΅Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ «try {} catch(e) {}» ΠΊΠ°ΠΊ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ «try {} catch(e: haxe.Exception) {}».
- Π ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ eval Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SSL.
- Π¦Π΅Π»Π΅Π²Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° JVM Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ.
- ΠΠ»Ρ Language Server Protocol Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΉ «Goto Implementation» ΠΈ «Find references».
- Π£Π»ΡΡΡΠ΅Π½ΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. Π£Π΄Π°Π»Π΅Π½Ρ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΠ΅ «return;» Π² ΡΡΡΠ΅Π»ΠΎΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ Π±Π΅Π· Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
- Π ΠΏΠΎΠ»ΡΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° (get, default) (ΡΠΎΠ»ΡΠΊΠΎ Π³Π΅ΡΡΠ΅Ρ, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ).
- Π Π°Π·ΡΠ΅ΡΠ΅Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ° ΠΈ Π΄Π΅ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΠΏΠΎΠ»Π΅ΠΉ
Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² . - Π£Π»ΡΡΡΠ΅Π½ΠΎ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ (inlining) for-ΡΠΈΠΊΠ»ΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ².
- js: Π£Π»ΡΡΡΠ΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ StringMap Π΄Π»Ρ ES5.
- js: Π ΠΎΠΏΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° «-D js-es=6» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ let ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΡΠ»ΡΡΡΠ΅Π½Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ES6 ΠΊΠ»Π°ΡΡΠΎΠ².
- lua: ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ «StringIterator», ΡΠ»ΡΡΡΠ΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ.
- php: ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ «Std.isOfType» Π΄Π»Ρ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ².
- php: Π‘Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ «Iterator», «IteratorAggregate», «Countable».
- cs: ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΌΠ΅ΡΠ°Π΄Π°ΡΡ «@:assemblyMeta» ΠΈ «@:assemblyStrict».
- python: Π² Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ «__contains__»
ΠΈ «__getitem__», ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ ΠΊΠ°ΠΊ ΡΠ»ΠΎΠ²Π°ΡΠΈ Π² ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. - jvm: ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ²ΡΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π½ΠΎΠ²ΠΎΠΌΡ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π² ΡΠ»ΡΡΠ°ΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠ°ΠΊ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ
ΡΡΡΡΠΊΡΡΡ (ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠΈΡΠΊ ΡΠ²ΠΎΠΉΡΡΠ²):
Π£Π»ΡΡΡΠ΅Π½ΠΈΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ «Array.contains».
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ «Array.keyValueIterator», ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ key-value ΠΈΡΠ΅ΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² («for (key => value in array)»).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° «haxe.Constraints.NotVoid».
- Π ΠΊΠ»Π°ΡΡ «Lambda» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ «findIndex» ΠΈ «foldi».
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ «array access» (Π΄ΠΎΡΡΡΠΏ ΡΠ΅ΡΠ΅Π· «arr[i]») ΠΈ key-value ΠΈΡΠ΅ΡΠ°ΡΠΈΡ Π΄Π»Ρ «haxe.ds.HashMap».
- jvm: Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ JVM-ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ «StringMap», «sys.thread.Lock», «sys.thread.Thread».
- java/jvm: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ «MD5», «SHA-1» ΠΈ «SHA-256» Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ «haxe.crypto».
- macro: ΠΠΎΠ±Π°Π²Π»Π΅Π½ «haxe.macro.Context.containsDisplayPosition(pos)».
- nullsafety: ΡΠ΅ΠΆΠΈΠΌ «Strict» ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΉ; Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ «StrictThreaded».
- «Std.is» ΠΎΠ±ΡΡΠ²Π»Π΅Π½ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ Π² ΠΏΠΎΠ»ΡΠ·Ρ «Std.isOfType».
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π±Π΅Π· Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡΡ .
- js: «untyped __js__(code, args)» ΠΎΠ±ΡΡΠ²Π»Π΅Π½ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ, Π²Π·Π°ΠΌΠ΅Π½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ «js.Syntax.code(code, args)».
- php/neko: «neko.Web» ΠΈ «php.Web» ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌΠΈ ΠΈ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Ρ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ «hx4compat».
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ΅Π»ΠΈΠ·Π΅
- Π£Π»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°
haxelib . - ΠΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ API Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅
libuv . - Π‘ΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (coroutines).
- ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π±Π΅Π· ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² (ΡΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π² Π½ΠΎΡΠ½ΡΡ ΡΠ±ΠΎΡΠΊΠ°Ρ ).
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru