Забон аст
Синтаксиси Haxe ба ECMAScript наздик аст ва
санҷиши синф {
Функсияи статикӣ main() {
var одамон = [
"Элизабет" => "Барномасозӣ",
"Ҷоэл" => "Тарроҳӣ"
];
барои (ном дар people.keys()) {
var job = одамон[ном];
trace('$name $кор барои зиндагӣ мекунад!');
}
}
}
асосӣ
- Синтаксиси нав барои муайян кардани навъи функсия "(name:String, age:Int)->Bool" ё "(String, Int)->Bool" ба ҷои "String->Int->Bool".
- Синтаксиси функсияи тирча ба ҷои "функсия(а, б) баргардонидани a + b" "(a, b) -> a + b" мебошад.
- Муҳофизат аз мушкилоти марбут ба истифодаи арзишҳои Null (хусусияти таҷрибавӣ, ки ихтиёран барои майдонҳо, синфҳо ё бастаҳои муайян фаъол карда шудааст).
- Калимаи калидии "ниҳоӣ" барои майдонҳои синф ва тағирёбандаҳои маҳаллӣ, ки тағирнопазиранд. "ниҳоӣ" инчунин метавонад барои муайян кардани функсияҳо истифода шавад, то ки онҳо аз ҷониби мерос бекор карда шаванд ва барои синфҳо/интерфейсҳое, ки мерос гирифта намешаванд.
-
таъмин Стандарти Юникод барои навъи асосии "String" дар ҳама ҳадафҳои компиляция ба истиснои Neko. - Тарҷумони дарунсохт аз сифр аз нав навишта шудааст, ки ҳоло бо ном меояд
Арзиш . Ба шарофати тарҷумони нав, скриптҳо ва макросҳо хеле тезтар кор мекунанд. Ҳолати ислоҳи интерактивӣ дастгирӣ карда мешавад. - Системаи нави мақсаднок барои тартиб додан (ҳадаф)
Hashlink - вақти иҷроии баландсифат, ки махсус барои Haxe тарҳрезӣ шудааст, таҳияи байткодро барои JIT ё C дастгирӣ мекунад, ҳамгироии осон бо C ва инчунин дастрасӣ ба навъҳои рақамӣ ва нишондиҳандаҳои сатҳи паст дорад. - Ҳадафи нави JVM - ба шумо имкон медиҳад, ки байткоди jvm-ро тавассути гузариш аз қадами тартиб додани коди Java тавассути илова кардани парчами "-D jvm" ҳангоми ҳадаф дар Java тавлид кунед.
- Қобилияти ҷойгиркунии дохилӣ дар нуқтаи даъват кардани функсияҳо ё конструкторҳо, ҳатто агар онҳо чунин эълон нашуда бошанд.
- Имконияти дохил кардан
васеъшавии статикӣ ҳангоми эълони навъ (ба мисли "enum") бо истифода аз "@:using(path.ToExtension)". - Навъҳои абстрактӣ ҳоло версияи "маҷмӯи" оператори "@:op(a.b)" -ро барои аз нав бор кардани ифодаҳои "obj.foo = bar" дастгирӣ мекунанд.
- Синтаксиси ҳалқаи "for" ҳоло итератсияи калид-арзишро дастгирӣ мекунад: "for (калид => арзиш дар коллексия) {}".
- Дастгирии истифодаи аломатгузории ба xml монанд дар ибораҳо: “var a = ‹hi/›;”. Ҳоло ин хусусият танҳо барои таҳлил бо макросҳо дастрас аст ва дар марҳилаи тарҳрезӣ қарор дорад.
- Синтаксиси майдонҳои ихтиёрӣ дар қайди "пурраи" намудҳои сохтори беном ин аст: "{ var ?f:Int; }" (алтернатива ба кӯтоҳи "{ ?f:Int }").
- Қиматҳои рақамӣ акнун метавонанд арзишҳои пешфарз барои аргументҳои функсия бошанд: "функсияи foo‹T›(интихоб:Option‹T› = Ҳеҷ)".
- Синтаксиси "enum abstract Name(BasicType) {}" дигар префикси "@:"-ро дар "enum" талаб намекунад.
- Рақамгузории худкор барои рӯйхатҳои абстрактӣ:
enum абстракт Foo(Int) {
var A; // 0
var B; // 1
}
enum абстракт Бар(Стринг) {
var A; // "А"
var B; // "Б"
} - Калимаи калидии "extern" дигар истифодаи префикси "@:"-ро талаб намекунад.
- Варианти " хориҷ карда шудтатбиқ менамояд Dynamic" барои дастрасӣ ба майдонҳои синф тавассути сатрҳо. Барои дарсҳои extern ё тавассути татбиқи намуди абстрактӣ дастрас аст.
- Синтаксиси "A & B" барои чорроҳаи навъи иловашуда, ки дар айни замон танҳо ба сохторҳои беном ва маҳдудиятҳои параметрҳои тип дахл дорад. Синтаксиси пешинаи маҳдудият хориҷ карда шуд.
- Эҷоди мисолҳои холии "Харитаи" тавассути синтаксиси "var map:Map‹Int, String› = [];" дастрас аст. ба массив монанд аст.
- Сохтори маълумоти иловашуда "haxe.ds.ReadOnlyArray".
- Акнун метамаълумот метавонад фазои ном дошта бошад (“@:prefix.name function() {…}”). Ба ҳамин монанд бо таърифҳо: "#if (some.flag ... #end".
- Протоколи нави хидматрасонӣ барои IDE дар
плагин барои VSCode . - Таърифҳои беруна (берунӣ) барои API-ҳои веб нав карда шуданд ва таърифҳои гумшуда илова карда шуданд.
Манбаъ: opennet.ru