භාෂාව වේ
Haxe වාක්ය ඛණ්ඩය ECMAScript හා සමීප වේ
පන්ති පරීක්ෂණය {
ස්ථිතික ශ්රිතය ප්රධාන() {
var මිනිසුන් = [
"එලිසබෙත්" => "ක්රමලේඛනය",
"ජොයෙල්" => "නිර්මාණය"
];
සඳහා (people.keys හි නම()) {
var job = මිනිස්සු[නම];
හෝඩුවාවක් ('$ නම ජීවත්වීම සඳහා $ රැකියාවක් කරයි!');
}
}
}
ප්රධාන
- "String->Int->Bool" වෙනුවට "(නම:String, වයස:Int)->Bool" හෝ "(String, Int)->Bool" ශ්රිත වර්ගය සඳහන් කිරීම සඳහා නව වාක්ය ඛණ්ඩය.
- ඊතල ශ්රිත වාක්ය ඛණ්ඩය "(a, b) -> a + b" වෙනුවට "function(a, b) return a + b" වේ.
- ශුන්ය අගයන් භාවිතය හා සම්බන්ධ ගැටළු වලින් ආරක්ෂා වීම (පරීක්ෂණාත්මක විශේෂාංගය, ඇතැම් ක්ෂේත්ර, පන්ති හෝ පැකේජ සඳහා විකල්ප වශයෙන් සක්රීය කර ඇත).
- "අවසාන" මූල පදය පන්ති ක්ෂේත්ර සහ වෙනස් කළ නොහැකි දේශීය විචල්යයන් සඳහා වේ. "අවසාන", ඒවා උරුමයෙන් යටපත් වීම වැළැක්වීමට සහ උරුම කළ නොහැකි පන්ති/අතුරු මුහුණත් සඳහා ශ්රිත නිර්වචනය කිරීමට ද භාවිතා කළ හැක.
-
සහාය Neko හැර අනෙකුත් සියලුම සම්පාදන ඉලක්ක මත පදනම් වර්ගය "String" සඳහා යුනිකෝඩ් සම්මතය. - බිල්ට් ඉන්ටර්ප්රෙටරය මුල සිට නැවත ලියා ඇත, එය දැන් නමින් පැමිණේ
ඇගයීමට ලක් . නව පරිවර්තකයාට ස්තූතියි, ස්ක්රිප්ට් සහ මැක්රෝස් වඩා වේගයෙන් ධාවනය වේ. අන්තර්ක්රියාකාරී නිදොස්කරණ මාදිලිය සහය දක්වයි. - සම්පාදනය සඳහා නව ඉලක්ක පද්ධතිය (ඉලක්කය)
හැෂ්ලින්ක් - Haxe සඳහා විෙශේෂෙයන් නිර්මාණය කර ඇති ඉහළ කාර්ය සාධන ධාවන කාල සීමාවක්, JIT ෙහෝ C සඳහා බයිට්කේතයට සම්පාදනය කිරීමට සහය වන අතර, C සමඟ පහසු ඒකාබද්ධතාවයක් ඇති අතර, අඩු මට්ටමේ සංඛ්යාත්මක වර්ග සහ දර්ශක සඳහා ප්රවේශය ඇත. - නව JVM ඉලක්කය - ජාවා හි ඉලක්ක කිරීමේදී "-D jvm" ධජය එකතු කිරීමෙන් ජාවා කේත සම්පාදන පියවර මඟ හැරීමෙන් jvm බයිට්කේත ජනනය කිරීමට ඔබට ඉඩ සලසයි.
- ශ්රිත හෝ කන්ස්ට්රැක්ටර් ලෙස ප්රකාශ කර නොමැති වුවද, ඇමතීමේදී පේළිගත කිරීමේ හැකියාව.
- ඇතුළත් කිරීමේ හැකියාව
ස්ථිතික දිගු වර්ගයක් ප්රකාශ කිරීමේදී ("enum" වැනි) "@:using(path.ToExtension)" භාවිතයෙන්. - වියුක්ත වර්ග දැන් "obj.foo = bar" ප්රකාශන නැවත පූරණය කිරීමට "@:op(a.b)" ක්රියාකරුගේ "set" අනුවාදයකට සහය දක්වයි.
- "for" loop syntax දැන් යතුරු-අගය පුනරාවර්තනය සඳහා සහය දක්වයි: "for (key => එකතුවේ ඇති අගය) {}".
- ප්රකාශනවල xml වැනි සලකුණු භාවිතා කිරීම සඳහා සහාය: "var a = ‹hi/›;". දැනට, මෙම විශේෂාංගය ලබා ගත හැක්කේ මැක්රෝ සමඟ විග්රහ කිරීම සඳහා පමණක් වන අතර එය සැලසුම් අවධියේ පවතී.
- නිර්නාමික ව්යුහ වර්ගවල “සම්පූර්ණ” අංකනයෙහි විකල්ප ක්ෂේත්ර සඳහා වන වාක්ය ඛණ්ඩය වන්නේ: “{var ?f:Int; }" ("{ ?f:Int }" යන කෙටි යෙදුමට විකල්පයක්).
- Enum අගයන් දැන් ශ්රිත තර්ක සඳහා පෙරනිමි අගයන් විය හැක: "function foo‹T›(option:Option‹T› = None)".
- "enum වියුක්ත නම(මූලික වර්ගය) {}" වාක්ය ඛණ්ඩයට තවදුරටත් "enum" හි "@:" උපසර්ගය අවශ්ය නොවේ.
- වියුක්ත ගණනය කිරීම් සඳහා ස්වයංක්රීය අංකනය:
enum abstract Foo(Int) {
var A; // 0
var B; // 1
}
enum abstract Bar(String) {
var A; // "ඒ"
var B; // "බී"
} - "බාහිර" මූල පදයට තවදුරටත් "@:" උපසර්ගය භාවිතා කිරීම අවශ්ය නොවේ.
- විකල්පය ඉවත් කළා"ක්රියාත්මක කරයි තන්තු හරහා පන්ති ක්ෂේත්ර වෙත ප්රවේශ වීමට ගතික". බාහිර පන්ති සඳහා හෝ වියුක්ත වර්ගයකින් ක්රියාත්මක කිරීම හරහා ලබා ගත හැක.
- වර්ග ඡේදනය සඳහා "A & B" වාක්ය ඛණ්ඩය එක් කරන ලදී, එය දැනට අදාළ වන්නේ නිර්නාමික ව්යුහයන් සහ වර්ග පරාමිති සීමාවන්ට පමණි. පැරණි සීමා සින්ටැක්ස් ඉවත් කර ඇත.
- හිස් "සිතියම" අවස්ථා සෑදීම "var map:Map‹Int, String› = [];" යන සින්ටැක්ස් හරහා ලබා ගත හැක. array එකකට සමානයි.
- දත්ත ව්යුහය "haxe.ds.ReadOnlyArray" එකතු කරන ලදී.
- පාරදත්තට දැන් නාම අවකාශයන් තිබිය හැක (“@:prefix.name function() {…}”). ඒ හා සමානව අර්ථ දැක්වීම් සමඟ: "#if (some.flag ... #end".
- භාවිතා කරන IDE සඳහා නව සේවා ප්රොටෝකෝලය
VSCode සඳහා ප්ලගිනය . - Web API සඳහා යාවත්කාලීන කරන ලද බාහිර නිර්වචන (බාහිර) සහ නැතිවූ ඒවා එකතු කරන ලදී.
මූලාශ්රය: opennet.ru