Хэл бол
Haxe синтакс нь ECMAScript болон
ангийн тест {
статик функц main() {
var хүмүүс = [
"Элизабет" => "Програмчлал",
"Жоел" => "Дизайн"
];
төлөө (хүмүүс.keys()-д нэр) {
var ажил = хүмүүс[нэр];
trace('$name нь $ажлын ажил хийдэг!');
}
}
}
Үндсэн
- "String->Int->Bool"-ын оронд "(name:String, age:Int)->Bool" эсвэл "(String, Int)->Bool" функцийн төрлийг зааж өгөх шинэ синтакс.
- Сумны функцийн синтакс нь "функц(a, b) буцаах a + b"-ын оронд "(a, b) -> a + b" байна.
- Null утгыг ашиглахтай холбоотой асуудлаас хамгаалах (туршилтын онцлог, сонголтоор тодорхой талбар, анги эсвэл багцад идэвхжүүлсэн).
- "Эцсийн" түлхүүр үг нь ангийн талбарууд болон өөрчлөгддөггүй локал хувьсагчдад зориулагдсан. "Төгсгөлийн" нь мөн удамшлын замаар дарагдахаас сэргийлж функцуудыг тодорхойлоход болон удамших боломжгүй анги/интерфэйсүүдэд ашиглагдаж болно.
-
тусламж Neko-оос бусад бүх эмхэтгэлийн зорилтот "String" үндсэн төрлийн Юникод стандарт. - Баригдсан орчуулагчийг эхнээс нь дахин бичсэн бөгөөд одоо энэ нэрээр гарч байна
Үнэлгээ . Шинэ орчуулагчийн ачаар скриптүүд болон макронууд илүү хурдан ажилладаг. Интерактив дибаг хийх горимыг дэмждэг. - Эмхэтгэх шинэ зорилтот систем (зорилтот)
Хэшлинк - JIT эсвэл C-д зориулж байт код руу хөрвүүлэхийг дэмждэг Haxe-д тусгайлан зориулсан өндөр гүйцэтгэлтэй ажиллах хугацаа нь C-тэй хялбар интеграцчлахаас гадна доод түвшний тоон төрөл, заагч руу нэвтрэх боломжтой. - Шинэ JVM зорилтот - Java хэл дээр чиглүүлэх үед "-D jvm" тугийг нэмж Java кодын эмхэтгэлийн алхамыг алгасаж jvm байт код үүсгэх боломжийг танд олгоно.
- Функц эсвэл бүтээгч гэж зарлагдаагүй байсан ч тэдгээрийг дуудах цэг дээр шугаман дээр байрлуулах чадвар.
- Оруулах боломж
статик өргөтгөлүүд "@:using(path.ToExtension)"-г ашиглан төрлийг ("enum" гэх мэт) зарлах үед. - Хийсвэр төрлүүд одоо "obj.foo = bar" илэрхийллийг дахин ачаалах "@:op(ab)" операторын "тогтоосон" хувилбарыг дэмждэг.
- "for" давталтын синтакс одоо түлхүүр-утга давталтыг дэмждэг: "for (түлхүүр => цуглуулга дахь утга) {}".
- “var a = ‹hi/›;” илэрхийлэлд xml-тэй төстэй тэмдэглэгээг ашиглахад дэмжлэг үзүүлэх. Одоогоор энэ функцийг зөвхөн макро ашиглан задлан шинжлэхэд ашиглах боломжтой бөгөөд дизайны шатандаа явж байна.
- Нэргүй бүтцийн төрлүүдийн "бүрэн" тэмдэглэгээний нэмэлт талбаруудын синтакс нь: "{ var ?f:Int; }" (богино "{ ?f:Int }"-ийн өөр хувилбар).
- Enum утгууд нь одоо функцийн аргументуудын өгөгдмөл утга байж болно: "функц foo‹T›(сонголт: Сонголт‹T› = Байхгүй)".
- "enum abstract Name(BasicType) {}" синтакс нь "enum"-д "@:" угтвар оруулах шаардлагагүй болсон.
- Хийсвэр тооллогын автомат дугаарлалт:
enum abstract Foo(Int) {
var A; // 0
var B; // 1
}
enum abstract Bar(String) {
var A; // "А"
var B; // "Б"
} - "extern" түлхүүр үгэнд "@:" угтварыг ашиглах шаардлагагүй болсон.
- Сонголтыг хассан "хэрэгжүүлэлт Динамик"-ыг ашиглан ангиллын талбарт стрингээр хандана. Экстерн ангиудад эсвэл хийсвэр хэлбэрээр хэрэгжүүлэх боломжтой.
- "A & B" төрлийн огтлолцлын синтаксийг нэмсэн бөгөөд энэ нь одоогоор зөвхөн нэргүй бүтэц болон төрлийн параметрийн хязгаарлалтад хамаарна. Хуучин хязгаарлалтын синтаксийг устгасан.
- Хоосон "Газрын зураг" инстанцуудыг "var map:Map‹Int, String› = [];" синтакс ашиглан хийх боломжтой. массивтай төстэй.
- "haxe.ds.ReadOnlyArray" өгөгдлийн бүтцийг нэмсэн.
- Мета өгөгдөл одоо нэрийн орон зайтай байж болно (“@:prefix.name function() {…}”). Тодорхойлолттой адил: "#if (some.flag ... #end".
- Ашигласан IDE-д зориулсан шинэ үйлчилгээний протокол
VSCode-д зориулсан залгаас . - Вэб API-д зориулсан гадаад тодорхойлолтуудыг (extern) шинэчилж, дутууг нэмсэн.
Эх сурвалж: opennet.ru