Haxe ක්‍රමලේඛන භාෂාව නිකුත් කිරීම 4.1

ඇත මෙවලම් කට්ටලය නිකුත් කිරීම Haxe 4.1, ප්‍රබල ටයිප් කිරීම, හරස් සම්පාදකයක් සහ සම්මත ශ්‍රිත පුස්තකාලයක් සහිත එකම නමේ බහු-පරම උසස් මට්ටමේ ක්‍රමලේඛන භාෂාව ඇතුළත් වේ. මෙම ව්‍යාපෘතිය C++, HashLink/C, JavaScript, C#, Java, PHP, Python සහ Lua වෙත පරිවර්තන කිරීමට මෙන්ම, JVM, HashLink/JIT, Flash සහ Neko bytecode වෙත සම්පාදනය කිරීමටත්, එක් එක් ඉලක්ක වේදිකාවේ ස්වදේශීය හැකියාවන් වෙත ප්‍රවේශ වීමටත් සහාය දක්වයි. සම්පාදක කේතය විසින් බෙදා හරිනු ලැබේ GPLv2 බලපත්‍රය යටතේ, සහ Haxe සඳහා සංවර්ධනය කරන ලද සම්මත පුස්තකාලය සහ අතථ්‍ය යන්ත්‍ර HashLink и නෙකෝ MIT බලපත්‍රය යටතේ.

භාෂාව වේ ප්රකාශනය-නැඹුරු ශක්තිමත් ටයිප් කිරීම සමඟ. වස්තු-නැඹුරු, සාමාන්‍ය සහ ක්‍රියාකාරී ක්‍රමලේඛන ශිල්පීය ක්‍රම සඳහා සහය දක්වයි. Haxe වාක්‍ය ඛණ්ඩය ECMAScript හා සමීප වේ පුළුල් කරයි ස්ථිතික ටයිප් කිරීම, ස්වයංක්‍රීය අනුමාන අනුමානය, රටා ගැලපීම, ජෙනරික්ස්, ලූප සඳහා පුනරාවර්තකය මත පදනම් වූ, AST මැක්‍රෝස්, GADT (සාමාන්‍ය වීජීය දත්ත වර්ග), වියුක්ත වර්ග, නිර්නාමික ව්‍යුහයන්, සරල කළ අරා නිර්වචන, කොන්දේසි සහිත සම්පාදන ප්‍රකාශන, ක්ෂේත්‍ර අමුණන පාරදත්ත වැනි එහි විශේෂාංග , පන්ති සහ ප්‍රකාශන, තන්තු මැදිහත්වීම ("'මගේ නම $නම'"), ටයිප් පරාමිති ('නව ප්‍රධාන ("foo")') සහ තවත් බොහෝ දේ.

පන්ති පරීක්ෂණය {
ස්ථිතික ශ්‍රිතය ප්‍රධාන() {
අවසාන පුද්ගලයින් = [
"එලිසබෙත්" => "ක්‍රමලේඛනය",
"ජොයෙල්" => "නිර්මාණය"
];

(නම => පුද්ගලයන් තුළ රැකියාව සඳහා) {
හෝඩුවාවක් ('$ නම ජීවත්වීම සඳහා $ රැකියාවක් කරයි!');
}
}
}

4.1 අනුවාදයේ නව විශේෂාංග:

  • වලිග පුනරාවර්තන ප්‍රශස්තකරණය එක් කරන ලදී.
  • ව්‍යතිරේක හැසිරවීම සඳහා නව ඒකාබද්ධ API එකක් එක් කරන ලදී.
  • "උත්සාහ කරන්න {} අල්ලන්න (ඊ) {}" තනන්න "උත්සාහ කරන්න {} අල්ලන්න(e: haxe.Exception) {}" සඳහා කෙටි යෙදුමක් ලෙස ඉඩ දෙනු ලැබේ.
  • Eval පරිවර්තකයට SSL සහාය එක් කරන ලදී.
  • ඉලක්කගත JVM තවදුරටත් පර්යේෂණාත්මක ලෙස නොසැලකේ.
  • භාෂා සේවාදායක ප්‍රොටෝකෝලය සඳහා, "Goto Implementation" සහ "References සොයන්න" ශ්‍රිත සඳහා සහය එක් කර ඇත.
  • උත්පාදනය කරන ලද කේතයේ තාවකාලික දේශීය විචල්‍යයන් වැඩි දියුණු කළ නම් කිරීම. ඉවත් කරන ලද අතිරික්ත "ආපසු;" ප්‍රතිලාභ අගයක් නොමැතිව ඊතල ශ්‍රිතවල.
  • ප්‍රවේශ සංයෝජන (ලබා ගැනීම, පෙරනිමිය) ක්ෂේත්‍ර මත ඉඩ දෙනු ලැබේ (ලබා ගන්නට පමණි, පෙරනිමි පැවරුම් හැසිරීම).
  • ක්ෂේත්‍ර සඳහා වර්ධක සහ අඩු කිරීමේ ක්‍රියාකරුවන්ට ඉඩ දෙන්න වියුක්ත වර්ග.
  • නිර්නාමික පුනරාවර්තක භාවිතා කරමින් ලූප සඳහා වැඩි දියුණු කරන ලදි.
  • js: ES5 සඳහා වැඩිදියුණු කළ StringMap ක්‍රියාත්මක කිරීම.
  • js: “-D js-es=6” යන සම්පාදක විකල්පයට ඉඩ විචල්‍ය ජනනය එකතු කර ඇත, ES6 පන්ති උත්පාදනය වැඩි දියුණු කර ඇත.
  • lua: "StringIterator" ප්‍රශස්ත කර ඇත, දෝෂ හැසිරවීම වැඩිදියුණු විය.
  • php: මූලික වර්ග සඳහා ප්‍රශස්ත "Std.isOfType".
  • php: ජනනය කරන ලද අරා දැන් දේශීය අතුරුමුහුණත් "Iterator", "IteratorAggregate", "ගණන් කළ හැකි" ක්‍රියාත්මක කරයි.
  • cs: එකතු කරන ලද පාරදත්ත "@:assemblyMeta" සහ "@:assemblyStrict".
  • python: නිර්නාමික වස්තු වලට "__contains__" ක්‍රියාත්මක කිරීම එකතු කරන ලදී
    සහ "__getitem__", ඒවා ජනනය කරන ලද කේතයේ ශබ්දකෝෂ ලෙස භාවිතා කිරීමට ඉඩ සලසයි.

  • jvm: වස්තු නිර්නාමික ව්‍යුහයන් ලෙස භාවිතා කරන අවස්ථාවන්හිදී ටයිප් කළ ශ්‍රිතවලට ප්‍රවේශ වීමේ සහ අමතර අතුරුමුහුණත් ජනනය කිරීමේ නව ක්‍රමයකට ස්තූතිවන්ත වන පරිදි සැලකිය යුතු ලෙස වැඩිදියුණු කරන ලද කාර්ය සාධනය (ගතික දේපල සෙවීම වළක්වා ඇත):
    Haxe ක්‍රමලේඛන භාෂාව නිකුත් කිරීම 4.1

සම්මත පුස්තකාලයේ වැඩිදියුණු කිරීම්:

  • "Array.contains" ශ්‍රිතය එක් කරන ලදී.
  • "Array.keyValueIterator" එකතු කරන ලදී, එය අරා සඳහා යතුරු-අගය පුනරාවර්තනය ක්‍රියාත්මක කරයි ("සඳහා (යතුර => අරාවෙහි අගය)").
  • "haxe.Constraints.NotVoid" සීමාවන් වර්ගය එකතු කරන ලදී.
  • "FindIndex" සහ "foldi" ශ්රිතයන් "Lambda" පන්තියට එකතු කර ඇත.
  • "අරා ප්‍රවේශය" ("arr[i]" හරහා ප්‍රවේශය) සහ "haxe.ds.HashMap" සඳහා යතුරු-අගය පුනරාවර්තනය ක්‍රියාත්මක කරන ලදී.
  • jvm: "StringMap", "sys.thread.Lock", "sys.thread.Thread" හි JVM-විශේෂිත අනුවාද ක්‍රියාත්මක කරන ලදී.
  • java/jvm: "haxe.crypto" මොඩියුල සඳහා "MD5", "SHA-1" සහ "SHA-256" දේශීය ක්‍රියාත්මක කිරීම් භාවිතා කරන ලදී.
  • macro: "haxe.macro.Context.containsDisplayPosition(pos)" එකතු කරන ලදී.
  • nullsafety: "දැඩි" මාදිලිය දැන් තනි නූල් ලෙස සලකනු ලැබේ; "StrictThreaded" මාදිලිය එකතු කරන ලදී.
  • "Std.isOfType" ට පක්ෂව "Std.is" අවලංගු කර ඇත.
  • වසා දැමීම්වල අගයන් නොමැතිව දේශීය විචල්‍යයන් භාවිතා කරන විට අනතුරු ඇඟවීමක් එක් කරන ලදී.
  • js.
  • php/neko: "neko.Web" සහ "php.Web" අත්හරින ලද අතර පසුව "hx4compat" පුස්තකාලය වෙත ගෙන යනු ඇත.

ඊළඟ නිකුතුවේදී සැලසුම් කර ඇත:

  • පැකේජ කළමනාකරු වැඩිදියුණු කිරීම් haxelib.
  • අසමමුහුර්ත පද්ධති API පදනම් වේ libuv.
  • කොරූටින්ස්.
  • පන්ති නිර්මාණය නොකර මොඩියුලර් ස්ථිතික ශ්‍රිත සහ විචල්‍ය ප්‍රකාශ කිරීම (දැනටමත් රාත්‍රී ගොඩනැගීම්වල තිබේ).

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න