ක්‍රිස්ටල් ක්‍රමලේඛන භාෂාව මුදා හැරීම 1.2

Crystal 1.2 ක්‍රමලේඛන භාෂාව නිකුත් කිරීම ප්‍රකාශයට පත් කර ඇති අතර, එහි සංවර්ධකයින් විසින් Ruby භාෂාවේ සංවර්ධනයේ පහසුව C භාෂාවේ ඉහළ යෙදුම් කාර්ය සාධන ලක්ෂණය සමඟ ඒකාබද්ධ කිරීමට උත්සාහ කරයි. සමහර Ruby වැඩසටහන් වෙනස් කිරීමකින් තොරව ක්‍රියාත්මක වුවද Crystal හි වාක්‍ය ඛණ්ඩය Ruby වලට සමීප නමුත් සම්පුර්ණයෙන්ම නොගැලපේ. සම්පාදක කේතය Crystal වලින් ලියා Apache 2.0 බලපත්‍රය යටතේ බෙදා හරිනු ලැබේ.

භාෂාව ස්ථිතික වර්ග පරීක්ෂා කිරීම භාවිතා කරයි, කේතයේ විචල්‍ය වර්ග සහ ක්‍රම තර්ක පැහැදිලිව සඳහන් කිරීමට අවශ්‍ය නොවී ක්‍රියාත්මක වේ. ක්‍රිස්ටල් ක්‍රමලේඛ ක්‍රියාත්මක කළ හැකි ගොනුවලට සම්පාදනය කර ඇති අතර, මැක්‍රෝස් ඇගයීමට ලක් කර සම්පාදනය කරන අවස්ථාවේදී කේත ජනනය කෙරේ. Crystal වැඩසටහන් වලදී, C වලින් ලියා ඇති බන්ධන සම්බන්ධ කළ හැකිය. කේත ක්‍රියාත්මක කිරීම සමාන්තරව සිදු කරනු ලබන්නේ “ස්පාන්” මූල පදය භාවිතයෙන් වන අතර එමඟින් ප්‍රධාන නූල් අවහිර නොකර, තන්තු ලෙස හැඳින්වෙන සැහැල්ලු නූල් ආකාරයෙන් පසුබිම් කාර්යයක් අසමමුහුර්තව ක්‍රියාත්මක කිරීමට ඔබට ඉඩ සලසයි.

සම්මත පුස්තකාලය CSV, YAML, සහ JSON සැකසීම සඳහා මෙවලම්, HTTP සේවාදායකයන් නිර්මාණය කිරීම සඳහා වන සංරචක සහ WebSocket සහාය ඇතුළුව විශාල පොදු කාර්යයන් සමූහයක් සපයයි. සංවර්ධන ක්‍රියාවලියේදී, ක්‍රිස්ටල් භාෂාවෙන් කේත අන්තර්ක්‍රියාකාරී ලෙස ක්‍රියාත්මක කිරීම සඳහා වෙබ් අතුරු මුහුණතක් (දේශීය සත්කාරක:8080 පෙරනිමියෙන්) ජනනය කරන “ක්‍රිස්ටල් ප්ලේ” විධානය භාවිතා කිරීම පහසුය.

ප්රධාන වෙනස්කම්:

  • මාපිය පන්තියක මූලද්‍රව්‍යයකට සාමාන්‍ය පන්තියක උප පංතියක් පැවරීමේ හැකියාව එක් කරන ලදී. පන්තිය Foo (T); අවසාන පන්තියේ තීරුව (T) < Foo(T); අවසානය x = Foo x = තීරුව
  • Macros හට දැන් for loop එකක අගයක් නොසලකා හැරීමට underscore භාවිතා කළ හැක. {1 සඳහා _, v, i {2 => 3, 4 => 5, 6 => XNUMX} %} p {{v + i}} {% end %}
  • මැක්‍රෝ වෙත “file_exists?” ක්‍රමය එක් කරන ලදී. ගොනුවක පැවැත්ම පරීක්ෂා කිරීමට.
  • සම්මත පුස්තකාලය දැන් 128-bit පූර්ණ සංඛ්‍යා සඳහා සහය දක්වයි.
  • BitArray සහ Deque වැනි එකතු කිරීම් සඳහා උසස් මෙහෙයුම් ක්‍රියාත්මක කිරීම සමඟ සුචිගත කළ හැකි::Mutable(T) මොඩියුලය එකතු කරන ලදී. ba = BitArray.new(10) # ba = BitArray[0000000000] ba[0] = true # ba = BitArray[1000000000] ba.rotate!(-1) # ba = BitArray[0100000000]
  • XML වෙතින් නිශ්චිත නාම අවකාශයක් උපුටා ගැනීම සඳහා XML::Node#namespace_definition ක්‍රමය එකතු කරන ලදී.
  • IO#write_utf8 සහ URI.encode ක්‍රම අවලංගු කර ඇති අතර IO#write_string සහ URI.encode_path මගින් ප්‍රතිස්ථාපනය කළ යුතුය.
  • 32-bit x86 ගෘහ නිර්මාණ ශිල්පය සඳහා සහය දෙවන මට්ටමට ගෙන ගොස් ඇත (සූදානම් කළ පැකේජ තවදුරටත් ජනනය නොවේ). ARM64 ගෘහ නිර්මාණ ශිල්පය සඳහා ආධාරකයේ පළමු මට්ටමට මාරු කිරීමක් සූදානම් වෙමින් පවතී.
  • වින්ඩෝස් වේදිකාව සඳහා පූර්ණ සහාය සහතික කිරීම සඳහා වැඩ දිගටම කරගෙන යයි. වින්ඩෝස් සොකට් සඳහා සහය එක් කරන ලදී.
  • macOS සඳහා විශ්වීය පැකේජයක් එක් කර ඇත, x86 ප්‍රොසෙසර සහිත උපාංගවල සහ Apple M1 චිපය සහිත උපකරණවල ක්‍රියා කරයි.

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

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