Crystal 0.34.0 නිකුත් කරන ලදී

ක්‍රිස්ටල් හි නව අනුවාදයක් නිකුත් කර ඇත, රූබි සින්ටැක්ස් සහිත සම්පාදනය කරන ලද ක්‍රමලේඛන භාෂාවක්, එහි ප්‍රධාන ලක්ෂණ වන්නේ “බිල්ට්-ඉන්” ඉවෙන්ට් ලූපයක් සහිත ධාවන කාලයයි, එහි සියලුම අයි/ඕ මෙහෙයුම් අසමමුහුර්ත වේ, බහු නූල් සඳහා සහය දක්වයි. එය සම්පාදනය කිරීමේදී ධජයක් මඟින් සක්‍රීය කර ඇති බැවින්) සහ C හි පුස්තකාල සමඟ අතිශයින්ම සරල සහ පහසු ක්‍රියාකාරිත්වය.

0.34.0 අනුවාදයෙන් පටන් ගෙන, භාෂාව නිල වශයෙන් එහි පළමු සැබෑ නිකුතුව වෙත ගමන් කිරීමට පටන් ගනී (එනම් අනුවාදය 1.0).

Crystal හි නව අනුවාදයේ වැදගත්කම අනුව පහත වෙනස්කම් සහ වැඩිදියුණු කිරීම් ඇතුළත් වේ:

  • API වෙත නව ලොගින් පුස්තකාලයක් එක් කර ඇත ලඝු, පැරණි එක මෙන් නොව, විවිධ පසුපෙළ වෙත පණිවිඩ යැවීමට සහ "මූලාශ්රය" මත පදනම්ව මෙම පණිවිඩ වෙනස් ලෙස පෙරීමට හැකිය.

  • C සංවර්ධන ලෝකයේ මුලික කරුණු, Errno и WinError, I/O ප්‍රාථමික සඳහා භාවිතා කරන ලද, ව්‍යතිරේක ධූරාවලියට ස්තූතිවන්ත වෙමින් අතීතයේ දෙයක් බවට පත්වෙමින් තිබේ IO::දෝෂය (කෙසේ වෙතත්, කිසිවෙකු තවමත් Errno භාවිතා කිරීම තහනම් කර නැත).

  • ක්රියාකරු වෙතින් else nil හි ස්වයංක්‍රීය ආදේශනය ඉවත් කරන ලදී නඩුව / කවදාද / වෙනත්. සංවර්ධකයා අහම්බෙන් එක් ශාඛාවක් මඟ හැරීම වැළැක්වීම සඳහා මෙය සිදු කෙරේ. කවදා ද enums වැනි අධිෂ්ඨානවාදී අවස්ථා වලට ගැලපෙන විට සහ යුනියන් වෙතින් වර්ග හරහා ගමන් කරන විට. එනම්, සරලව කිවහොත්, තවත් එකක් සඳහන් නොකර මෙම කේතය තවදුරටත් ක්‍රියා නොකරනු ඇත කවදා ද (චර විට) හෝ කාර්යයන් වෙන-ශාඛා:

a = 1 || 'x' || "foo"
නඩුව a
විට Int32
#…
විට String
#…
අවසානය

  • සම්පාදක විකල්පය disable_overflow තවදුරටත් ලබා ගත නොහැක. පිටාර ගැලීමේ මෙහෙයුම් සඳහා, &+, &-, &* ක්‍රම භාවිතා කරන්න.

  • අරාව#පුරවන්න දැන් උණ්ඩයකට වඩා වේගයෙන් පියාසර කරයි, මෝඩ ලූපය එක් සරල මෙම්සෙට් එකකින් ප්‍රතිස්ථාපනය කිරීමට ස්තූතියි;

  • කැබලි (පැකේජ) කළමනාකරු, පරස්පර විරෝධී ලෙස, කැබලි, දැන් CocoaPods (Swift) සහ Builder (Ruby) හි ඇති වේගවත් සහ වඩාත් කාර්යක්ෂම Molinillo පරායත්ත තෘප්තිමත් ඇල්ගොරිතම භාවිතා කරයි.

  • සහාය එකතු කරන ලදී LLVM 10, න්‍යායාත්මකව අපට ඵලදායිතාව, ස්ථාවරත්වය යනාදී යම් වැඩිවීමක් ලබා දෙනු ඇත.

... සහ තවත් බොහෝ, මගේ ආත්මීය මතය අනුව, අඩු සැලකිය යුතු වැඩිදියුණු කිරීම්.

ක්‍රිස්ටල් යනු LLVM මත ගොඩනගා ඇති භාෂාවක් බව සටහන් කිරීමට කැමැත්තෙමි, එමඟින් එහි අර්ථකථනය කරන ලද “සහෝදරයන්ට” වඩා සමහර විට වේගවත්, සරල සහ සංක්ෂිප්තව යෙදුම් ලිවීමට ඔබට ඉඩ සලසයි, ඒ සමඟම ප්‍රතිඵලයක් ලෙස තරමක් වේගවත් ද්විමය අගයක් ලබා ගන්න. Golang හා සසඳන විට, එය එහි පරම පූර්ණ OOP, Generics සඳහා සහය සහ ඉතා සරල සහ තේරුම්ගත හැකි වාක්‍ය ඛණ්ඩය හේතුවෙන් කැපී පෙනේ. එහි අරමුණ බොහෝ දුරට Nim ට සමාන ය, නමුත් ඒ සමඟම එය පැහැදිලිවම “මෙතැන සහ දැන්” ප්‍රායෝගික භාවිතය කෙරෙහි අවධානය යොමු කර ඇත, එයට ස්තූතිවන්ත වන්නට එහි API අවි ගබඩාවේ බොහෝ හොඳින් ලේඛනගත, පහසු සහ උසස් තත්ත්වයේ මෙවලම් ඇති අතර එයට සහාය වේ. භාෂා සංවර්ධකයින් සහ එබැවින් ඉතා ස්ථාවර වේ.

මූලාශ්රය: linux.org.ru

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