ဘာသာစကားသည်
အတန်းတင်စာမေးပွဲ {
static function main() {
နောက်ဆုံးလူ = [
"Elizabeth" => "ပရိုဂရမ်ရေးဆွဲခြင်း",
"Joel" => "ဒီဇိုင်း"
];
for (name => job in people) {
trace('$name does $job for a living!');
}
}
}
ဗားရှင်း 4.1 တွင် အင်္ဂါရပ်အသစ်များ-
- tail recursion optimization ကို ထည့်ထားသည်။
- ခြွင်းချက် ကိုင်တွယ်ခြင်းအတွက် ပေါင်းစည်းထားသော API အသစ်တစ်ခု ထပ်ထည့်ထားသည်။
- "try {} catch(e) {}" ကို "try {} catch(e: haxe.Exception) {}" အတွက် အတိုကောက်အဖြစ် ခွင့်ပြုထားသည်။
- အကဲဖြတ်စကားပြန်သို့ SSL ပံ့ပိုးမှုကို ပေါင်းထည့်ခဲ့သည်။
- ပစ်မှတ် JVM ကို စမ်းသပ်မှုဟု မယူဆတော့ပါ။
- Language Server Protocol အတွက်၊ "Goto Implementation" နှင့် "References ကိုရှာပါ" လုပ်ဆောင်ချက်များအတွက် ပံ့ပိုးမှုကို ထည့်သွင်းထားပါသည်။
- ထုတ်ပေးထားသော ကုဒ်တွင် ယာယီဒေသခံ ကိန်းရှင်များ၏ အမည်ကို မြှင့်တင်ထားသည်။ မလိုအပ်တော့သော "return;" ကို ဖယ်ရှားပြီး၊ return value မပါဘဲ မြှားလုပ်ဆောင်ချက်များ။
- အသုံးပြုခွင့် ပေါင်းစပ်မှုများ (get၊ ပုံသေ) ကို အကွက်များ (getter သာ၊ ပုံသေသတ်မှတ်မှု အပြုအမူ) တွင် ခွင့်ပြုထားသည်။
- အကွက်များအတွက် တိုးခြင်းနှင့် လျှော့ခြင်း အော်ပရေတာများကို ခွင့်ပြုပါ။
စိတ္တဇအမျိုးအစားများ . - အမည်မသိ iterators များကို အသုံးပြု၍ ကွင်းဆက်များအတွက် အတွင်းပိုင်းကို ပိုမိုကောင်းမွန်စေပါသည်။
- js- ES5 အတွက် ပိုမိုကောင်းမွန်သော StringMap အကောင်အထည်ဖော်မှု။
- js- let variable များ၏ မျိုးဆက်ကို compiler option “-D js-es=6” တွင် ထည့်သွင်းထားပြီး၊ ES6 အတန်းများ၏ မျိုးဆက်ကို မြှင့်တင်ထားပါသည်။
- lua- "StringIterator" ကို ပိုမိုကောင်းမွန်အောင် ပြုလုပ်ထားပြီး၊ အမှားအယွင်း ကိုင်တွယ်မှုကို မြှင့်တင်ထားသည်။
- php- အခြေခံအမျိုးအစားများအတွက် "Std.isOfType" ကို ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ထားသည်။
- php- ထုတ်လုပ်ထားသော array များသည် ယခုအခါတွင် မူလ interfaces “Iterator”၊ “IteratorAggregate”၊ “countable” တို့ကို အကောင်အထည်ဖော်ပါသည်။
- cs- မက်တာဒေတာ "@:assemblyMeta" နှင့် "@:assemblyStrict" တို့ကို ထည့်ထားသည်။
- python- အမည်မသိအရာဝတ္ထုများတွင် "__contains__" ကို ထည့်သွင်းအသုံးပြုခြင်း။
ထုတ်လုပ်ထားသောကုဒ်တွင် ၎င်းတို့ကို အဘိဓာန်များအဖြစ် အသုံးပြုခွင့်ပေးသော "__getitem__" နှင့်။ - jvm- အရာဝတ္ထုများကို အမည်မသိဖွဲ့စည်းပုံများအဖြစ် အသုံးပြုသည့်ကိစ္စများတွင် ရိုက်ထည့်ထားသော လုပ်ဆောင်ချက်များကို ဝင်ရောက်ခြင်းနှင့် အပိုအင်တာဖေ့စ်များထုတ်ပေးခြင်းနည်းလမ်းသစ်ကြောင့် သိသိသာသာ စွမ်းဆောင်ရည် တိုးတက်ကောင်းမွန်လာသည် (ပြောင်းလဲနေသော ပိုင်ဆိုင်မှုရှာဖွေခြင်းကို တားဆီးထားသည်)။
စံပြစာကြည့်တိုက်တွင် တိုးတက်မှုများ-
- "Array.contains" လုပ်ဆောင်ချက်ကို ထည့်သွင်းခဲ့သည်။
- array.keyValueIterator ("for (key => value in array)") ကို အကောင်အထည်ဖော်ပေးသော "Array.keyValueIterator")။
- ထည့်သွင်းထားသော ကန့်သတ်ချက်အမျိုးအစား "haxe.Constraints.NotVoid"။
- “findIndex” နှင့် “foldi” လုပ်ဆောင်ချက်များကို “Lambda” အတန်းတွင် ထည့်သွင်းထားသည်။
- "array access" ("arr[i]" မှတဆင့်ဝင်ရောက်ခြင်း) နှင့် "haxe.ds.HashMap" အတွက် သော့တန်ဖိုးထပ်ခြင်းတို့ကို အကောင်အထည်ဖော်ခဲ့သည်။
- jvm- "StringMap", "sys.thread.Lock", "sys.thread.Thread" ၏ JVM သီးသန့်ဗားရှင်းများကို အကောင်အထည်ဖော်ထားသည်။
- java/jvm- "haxe.crypto" မော်ဂျူးများအတွက် "MD5", "SHA-1" နှင့် "SHA-256" တို့၏ မူလအကောင်အထည်ဖော်မှုများကို အသုံးပြုထားသည်။
- မက်ခရို- "haxe.macro.Context.containsDisplayPosition(pos)" ကို ထည့်ထားသည်။
- nullsafety- "တင်းကျပ်သော" မုဒ်ကို ယခုအခါ ချည်ကြိုးတစ်ခုတည်းအဖြစ် သဘောထားပြီး၊ "StrictThreaded" မုဒ်ကို ထည့်သွင်းထားသည်။
- "Std.is" ကို "Std.isOfType" ၏မျက်နှာသာဖြင့် ရပ်တန့်ထားသည်။
- အပိတ်များတွင် တန်ဖိုးများမပါသော ဒေသဆိုင်ရာ ကိန်းရှင်များကို အသုံးပြုသည့်အခါ သတိပေးချက်တစ်ခု ထပ်ထည့်ထားသည်။
- js- "မရိုက်ရသေးသော __js__(ကုဒ်၊ args)" ကို ရပ်တန့်လိုက်ပြီး "js.Syntax.code(code, args)" ဖြင့် အစားထိုးထားသည်။
- php/neko- "neko.Web" နှင့် "php.Web" ကို ရပ်ဆိုင်းထားပြီး နောက်ပိုင်းတွင် "hx4compat" စာကြည့်တိုက်သို့ ရွှေ့သွားပါမည်။
နောက်ထုတ်မှာ
- Package Manager တိုးတက်မှုများ
haxelib . - Asynchronous စနစ် API ကို အခြေခံထားသည်။
libuv . - လုပ်ရိုးလုပ်စဉ်များ။
- အတန်းများမဖန်တီးဘဲ modular static functions များနှင့် variable များကိုကြေငြာခြင်း (ညစဉ်တည်ဆောက်မှုများတွင်ရရှိနိုင်ပြီးဖြစ်သည်)။
source: opennet.ru