ΡΠ΅Π»ΠΈΠΉΠ· Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° , Π²ΠΊΠ»ΡΡΠ²Π°Ρ Π΅Π΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΠΈΡ multiparadigmatic Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅Π½ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ ΡΡΡ ΡΡΡΠΎΠ³Π° ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ, ΠΊΡΠΎΡ-ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΎΠ΅ΠΊΡΡΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΡΠ°Π½ΡΠ»Π°ΡΠΈΡ Π½Π° C++, HashLink/C, JavaScript, C#, Java, PHP, Python ΠΈ Lua, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ Π½Π° JVM, HashLink/JIT, Flash ΠΈ Neko, Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΌΠ΅ΡΡΠ½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π° Π²ΡΡΠΊΠ° ΡΠ΅Π»Π΅Π²Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°. ΠΠΎΠ΄ΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° Π΅ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· GPLv2, Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°Π½Π°ΡΠ° Π·Π° Haxe Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· MIT.
ΠΠ·ΠΈΠΊΡΡ Π΅ ΡΡΡ ΡΡΡΠΎΠ³Π° ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ. ΠΠΎΠ΄ΠΊΡΠ΅ΠΏΡΡ ΡΠ΅ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠΈ Π½Π° ΠΎΠ±Π΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΎ, ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΎ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡΡ Π½Π° Haxe Π΅ Π±Π»ΠΈΠ·ΡΠΊ Π΄ΠΎ ECMAScript ΠΈ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΠΎ ΡΡΠ°ΡΠΈΡΠ½Π° ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠΈΠΏΠΎΠ²Π΅, ΡΠ°Π±Π»ΠΎΠ½Π½ΠΎ ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅, Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ, ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ΅Π½ ΡΠΈΠΊΡΠ» βforβ, AST-ΠΌΠ°ΠΊΡΠΎΡΠΈ, GADT (Generalized Algebraic Data Types), Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅, Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ, ΠΎΠΏΡΠΎΡΡΠ΅Π½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π° ΠΌΠ°ΡΠΈΠ²ΠΈ, ΠΈΠ·ΡΠ°Π·ΠΈ Π·Π° ΡΡΠ»ΠΎΠ²Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ, ΠΏΡΠΈΠΊΡΠ΅ΠΏΡΠ½Π΅ Π½Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ ΠΊΡΠΌ ΠΏΠΎΠ»Π΅ΡΠ°, ΠΊΠ»Π°ΡΠΎΠ²Π΅ ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ, ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»Π°ΡΠΈΡ Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅ (βMy name is $nameβ), ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ (βnew MainβΉStringβΊ(βfooβ)β) ΠΈ .
class Test {
static function main() {
var people = [
βElizabethβ => βΠΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅β,
βJoelβ => βΠΠΈΠ·Π°ΠΉΠ½β
];
for (name in people.keys()) {
var job = people[name];
trace(β$name ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΡΠΎ $job!β);
}
}
}
ΠΡΠ½ΠΎΠ²Π½ΠΈ Π² Π²Π΅ΡΡΠΈΡ 4.0:
- ΠΠΎΠ² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ β(name:String, age:Int)->Boolβ ΠΈΠ»ΠΈ β(String, Int)->Boolβ Π²ΠΌΠ΅ΡΡΠΎ βString->Int->Boolβ.
- Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π½Π° ΡΡΡΠ΅Π»ΠΊΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ β(a, b) -> a + bβ Π²ΠΌΠ΅ΡΡΠΎ βfunction(a, b) return a + bβ.
- ΠΠ°ΡΠΈΡΠ° ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Null (Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ° ΡΠ΅ ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΠΎΠ»Π΅ΡΠ°, ΠΊΠ»Π°ΡΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ).
- ΠΠ»ΡΡΠΎΠ²Π°ΡΠ° Π΄ΡΠΌΠ° βfinalβ Π·Π° ΠΏΠΎΠ»Π΅ΡΠ° Π½Π° ΠΊΠ»Π°ΡΠΎΠ²Π΅ ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΈ. βfinalβ ΡΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ, Π·Π° Π΄Π° ΡΠ΅ Π·Π°Π±ΡΠ°Π½ΠΈ ΡΡΡ Π½ΠΎΡΠΎ ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ ΠΏΡΠΈ Π½Π°ΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ ΠΈ Π·Π° ΠΊΠ»Π°ΡΠΎΠ²Π΅/ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π½Π°ΡΠ»Π΅Π΄Π΅Π½ΠΈ.
- ΡΡΠ°Π½Π΄Π°ΡΡΠ° Unicode Π·Π° Π±Π°Π·ΠΎΠ² ΡΠΈΠΏ βStringβ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π»ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Ρ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Neko.
- ΠΡΠ΅ΠΏΠΈΡΠ°Π½ ΠΎΡ Π½ΡΠ»Π°ΡΠ° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅Π³Π° ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΏΠΎΠ΄ ΠΈΠΌΠ΅ΡΠΎ . ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ²ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΌΠ°ΠΊΡΠΎΡΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ. ΠΠΎΠ΄ΠΊΡΠ΅ΠΏΡ ΡΠ΅ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π° ΠΎΡΠ»Π°Π΄ΠΊΠ°.
- ΠΠΎΠ²Π° ΡΠ΅Π»Π΅Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ (target) β Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅Π½ runtime, ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π·Π° Haxe, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π² Π±Π°ΠΉΡΠΊΠΎΠ΄ Π·Π° JIT ΠΈΠ»ΠΈ C, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΠ° Π»Π΅ΡΠ½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ C, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π½ΠΈΡΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΈ ΡΠΈΡΠ»ΠΎΠ²ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ.
- ΠΠΎΠ²Π°ΡΠ° ΡΠ΅Π»Π΅Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ° JVM β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π±Π°ΠΉΡΠΊΠΎΠ΄ jvm, ΠΏΡΠΎΠΏΡΡΠΊΠ°ΠΉΠΊΠΈ Π΅ΡΠ°ΠΏΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Java-ΠΊΠΎΠ΄ ΡΡΠ΅Π· Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΠ»Π°Π³Π° "-D jvm" ΠΏΡΠΈ ΡΠ°ΡΠ³Π΅ΡΠΈΡΠ°Π½Π΅ Π² Java.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° inline-ΡΠ°Π·Π²ΡΡΡΠ°ΡΠ΅ Π½Π° ΠΌΡΡΡΠΎΡΠΎ Π½Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΈ, Π΄ΠΎΡΠΈ Π°ΠΊΠΎ ΡΠ΅ Π½Π΅ ΡΠ° ΠΎΠ±ΡΠ²Π΅Π½ΠΈ ΠΊΠ°ΡΠΎ ΡΠ°ΠΊΠΈΠ²Π°.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΏΡΠΈ ΠΎΠ±ΡΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΠΏ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ "enum") Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° "@:using(path.ToExtension)".
- ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΠΈΡΠ΅ ΡΠΈΠΏΠΎΠ²Π΅ Π²Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ "set"-Π²Π΅ΡΡΠΈΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° "@:op(a.b)" Π·Π° ΠΏΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ·ΡΠ°Π·ΠΈ "obj.foo = bar".
- Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡΡ Π½Π° ΡΠΈΠΊΡΠ»Π° "for" Π²Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΈΡΠ΅ΡΠ°ΡΠΈΡ "ΠΊΠ»ΡΡ-ΡΡΠΎΠΉΠ½ΠΎΡΡ": "for (key => value in collection) {}".
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° xml-ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ° Π² ΠΈΠ·ΡΠ°Π·ΠΈ: "var a = βΉhi/βΊ;". ΠΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°Π·ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΅ Π½Π°Π»ΠΈΡΠ½Π° ΡΠ°ΠΌΠΎ Π·Π° ΠΏΠ°ΡΡΠΈΠ½Π³ Ρ ΠΌΠ°ΠΊΡΠΎΡΠΈ ΠΈ Π΅ Π² Π΅ΡΠ°ΠΏ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π΅.
- Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π·Π° ΠΎΠΏΡΠΈΠΎΠ½Π°Π»Π½ΠΈ ΠΏΠΎΠ»Π΅ΡΠ° Π² "ΠΏΡΠ»Π½Π°ΡΠ°" Π½ΠΎΡΠ°ΡΠΈΡ Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ: "{ var ?f:Int; }" (Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° "ΠΊΡΠ°ΡΠΊΠΈΡ" "{ ?f:Int }").
- Π‘ΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΈΠ·Π±ΡΠΎΡΠ²Π°Π½ΠΈΡΡΠ° Π²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π·Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ: "function fooβΉTβΊ(option:OptionβΉTβΊ = None)".
- Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡΡ "enum abstract Name(BasicType) {}" Π²Π΅ΡΠ΅ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΡΠ΅ΡΠΈΠΊΡ "@:" Π² "enum".
- ΠΠ²ΡΠΎ-Π½ΠΎΠΌΠ΅ΡΠ°ΡΠΈΡ Π·Π° Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΈ ΠΈΠ·Π±ΡΠΎΡΠ²Π°Π½ΠΈΡ:
enum abstract Foo(Int) {
var A; // 0
var B; // 1
}
enum abstract Bar(String) {
var A; // "A"
var B; // "B"
} - ΠΠ»ΡΡΠΎΠ²Π°ΡΠ° Π΄ΡΠΌΠ° "extern" Π²Π΅ΡΠ΅ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠ΅ΡΠΈΠΊΡ "@:".
- ΠΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠ° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° "implements Dynamic" Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠΎΠ»Π΅ΡΠ° Π½Π° ΠΊΠ»Π°ΡΠ° ΠΏΡΠ΅Π· Π½ΠΈΠ·ΠΎΠ²Π΅. ΠΠΎΡΡΡΠΏΠ½ΠΎ Π΅ Π·Π° extern-ΠΊΠ»Π°ΡΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΡΡΠ΅Π· ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠ΅Π½ ΡΠΈΠΏ.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡΡ "A & B" Π·Π° ΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΠΏΠΎΠ²Π΅, ΠΊΠΎΠΉΡΠΎ ΠΊΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΡΠ°ΠΌΠΎ Π·Π° Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΡΠΈΠΏΠ°. Π‘ΡΠ°ΡΠΈΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ.
- Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠ°Π·Π½ΠΈ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈ "Map" Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΡΠ΅Π· ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° "var map:MapβΉInt, StringβΊ = [];" ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ Ρ ΠΌΠ°ΡΠΈΠ²ΠΈΡΠ΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΡΡΡΡΠΊΡΡΡΠ° ΠΎΡ Π΄Π°Π½Π½ΠΈ "haxe.ds.ReadOnlyArray".
- ΠΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈΡΠ΅ Π²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠΌΠ°Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΎΡ ΠΈΠΌΠ΅Π½Π° ("@:prefix.name function() {β¦}"). ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΡΠ°: "#if (some.flag β¦ #end".
- ΠΠΎΠ² ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° ΡΡΠ»ΡΠ³ΠΈ Π·Π° IDE, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² .
- ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ° Π²ΡΠ½ΡΠ½ΠΈΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ (extern) Π·Π° Web APIs ΠΈ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π»ΠΈΠΏΡΠ²Π°ΡΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
