கிரிஸ்டல் நிரலாக்க மொழியின் வெளியீடு 1.2

கிரிஸ்டல் 1.2 நிரலாக்க மொழியின் வெளியீடு வெளியிடப்பட்டது, அதன் உருவாக்குநர்கள் ரூபி மொழியில் வளர்ச்சியின் வசதியை சி மொழியின் உயர் பயன்பாட்டு செயல்திறன் பண்புடன் இணைக்க முயற்சிக்கின்றனர். சில ரூபி புரோகிராம்கள் மாற்றமின்றி இயங்கினாலும், கிரிஸ்டலின் தொடரியல் ரூபிக்கு நெருக்கமாக உள்ளது, ஆனால் முழுமையாக இணங்கவில்லை. கம்பைலர் குறியீடு கிரிஸ்டலில் எழுதப்பட்டு அப்பாச்சி 2.0 உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது.

மொழி நிலையான வகை சரிபார்ப்பைப் பயன்படுத்துகிறது, குறியீட்டில் மாறிகள் மற்றும் முறை வாதங்களை வெளிப்படையாகக் குறிப்பிட வேண்டிய அவசியமின்றி செயல்படுத்தப்படுகிறது. கிரிஸ்டல் புரோகிராம்கள் இயங்கக்கூடிய கோப்புகளாக தொகுக்கப்படுகின்றன, மேக்ரோக்கள் மதிப்பீடு செய்யப்பட்டு தொகுக்கும் நேரத்தில் குறியீடு உருவாக்கப்படுகிறது. கிரிஸ்டல் நிரல்களில், C இல் எழுதப்பட்ட பிணைப்புகளை இணைக்க முடியும். "ஸ்பான்" திறவுச்சொல்லைப் பயன்படுத்தி குறியீடு செயல்படுத்தலின் இணையாக்கம் மேற்கொள்ளப்படுகிறது, இது ஃபைபர்கள் எனப்படும் இலகுரக நூல்களின் வடிவத்தில் பிரதான நூலைத் தடுக்காமல், பின்னணி பணியை ஒத்திசைவற்ற முறையில் இயக்க அனுமதிக்கிறது.

நிலையான நூலகம் CSV, YAML மற்றும் JSON ஐ செயலாக்குவதற்கான கருவிகள், HTTP சேவையகங்களை உருவாக்குவதற்கான கூறுகள் மற்றும் WebSocket ஆதரவு உள்ளிட்ட பொதுவான செயல்பாடுகளின் ஒரு பெரிய தொகுப்பை வழங்குகிறது. மேம்பாடு செயல்பாட்டின் போது, ​​"கிரிஸ்டல் ப்ளே" கட்டளையைப் பயன்படுத்துவது வசதியானது, இது கிரிஸ்டல் மொழியில் குறியீட்டை ஊடாடும் செயல்பாட்டிற்கு ஒரு வலை இடைமுகத்தை (இயல்புநிலையாக லோக்கல் ஹோஸ்ட்:8080) உருவாக்குகிறது.

முக்கிய மாற்றங்கள்:

  • பெற்றோர் வகுப்பின் உறுப்புக்கு பொதுவான வகுப்பின் துணைப்பிரிவை ஒதுக்கும் திறன் சேர்க்கப்பட்டது. வகுப்பு Foo(T); இறுதி வகுப்பு பார்(டி) < ஃபூ(டி); முடிவு x = Foo x = பட்டை
  • லூப்பில் உள்ள மதிப்பை புறக்கணிக்க மேக்ரோக்கள் இப்போது அடிக்கோடினைப் பயன்படுத்தலாம். {1க்கு _, v, i இல் {2 => 3, 4 => 5, 6 => XNUMX} %} ப {{v + i}} {% முடிவு %}
  • மேக்ரோக்களில் “file_exists?” முறை சேர்க்கப்பட்டது. ஒரு கோப்பு இருப்பதை சரிபார்க்க.
  • நிலையான நூலகம் இப்போது 128-பிட் முழு எண்களை ஆதரிக்கிறது.
  • BitArray மற்றும் Deque போன்ற சேகரிப்புகளுக்கான மேம்பட்ட செயல்பாடுகளை செயல்படுத்துவதன் மூலம் Indexable::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.குறியீட்டு முறைகள் நிறுத்தப்பட்டு, IO#write_string மற்றும் URI.encode_path ஆகியவற்றால் மாற்றப்பட வேண்டும்.
  • 32-பிட் x86 கட்டமைப்பிற்கான ஆதரவு இரண்டாம் நிலைக்கு நகர்த்தப்பட்டது (ஆயத்த தொகுப்புகள் இனி உருவாக்கப்படாது). ARM64 கட்டமைப்பிற்கான ஆதரவின் முதல் நிலைக்கான பரிமாற்றம் தயாராகி வருகிறது.
  • விண்டோஸ் இயங்குதளத்திற்கான முழு ஆதரவை உறுதி செய்வதற்கான பணி தொடர்கிறது. விண்டோஸ் சாக்கெட்டுகளுக்கான ஆதரவு சேர்க்கப்பட்டது.
  • x86 செயலிகளைக் கொண்ட சாதனங்கள் மற்றும் Apple M1 சிப் கொண்ட சாதனங்களில் வேலை செய்யும் macOS க்காக ஒரு உலகளாவிய தொகுப்பு சேர்க்கப்பட்டுள்ளது.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்