Nim 0.20 வெளியீடு முதல் நிலையான 1.0 வெளியீட்டிற்கான வேட்பாளராகக் கருதப்படலாம், இது மொழியின் நிலையை உருவாக்கும் முதல் நிலையான கிளையை உருவாக்குவதற்குத் தேவையான பல இயங்குதன்மை-பிரேக்கிங் மாற்றங்களை உள்ளடக்கியது. பதிப்பு 1.0 ஒரு நிலையான, நீண்ட கால ஆதரவு வெளியீடாகக் கூறப்படுகிறது, இது மொழியின் நிலைப்படுத்தப்பட்ட பகுதியில் பின்தங்கிய இணக்கத்தன்மையைப் பராமரிக்க உத்தரவாதம் அளிக்கப்படும். தனித்தனியாக, கம்பைலரில் ஒரு சோதனை முறையும் கிடைக்கும், அதில் பின்தங்கிய இணக்கத்தன்மையை மீறக்கூடிய புதிய அம்சங்கள் உருவாக்கப்படும்.
நிம் 0.20 இல் முன்மொழியப்பட்ட மாற்றங்களில்:
- "இல்லை" இப்போது எப்போதும் ஒரு unary operator, அதாவது. "உறுதிப்படுத்து(அல்ல)" போன்ற வெளிப்பாடுகள் இப்போது அனுமதிக்கப்படவில்லை மற்றும் "அஸர்ட் நாட் அ" மட்டுமே அனுமதிக்கப்படுகிறது;
- தொகுத்தல் கட்டத்தில் முழு எண்கள் மற்றும் உண்மையான எண்களை மாற்றுவதற்கான கடுமையான சோதனைகள் இயக்கப்பட்டன, அதாவது. "const b = uint16(-1)" என்ற வெளிப்பாடு இப்போது பிழையை ஏற்படுத்தும், ஏனெனில் -1 ஐ கையொப்பமிடாத முழு எண் வகையாக மாற்ற முடியாது;
- மாறிலிகள் மற்றும் லூப் மாறிகளுக்கான டூப்பிள்களின் பேக்கிங் வழங்கப்படுகிறது.
எடுத்துக்காட்டாக, இப்போது நீங்கள் 'const (d, e) = (7, "eight")" மற்றும் "for (x, y) in f" போன்ற பணிகளைப் பயன்படுத்தலாம்; - ஹாஷ்கள் மற்றும் அட்டவணைகளின் இயல்புநிலை துவக்கம் வழங்கப்பட்டது. எடுத்துக்காட்டாக, “var s: HashSet[int]” என்று அறிவித்த பிறகு, நீங்கள் உடனடியாக “s.incl(5)” ஐ இயக்கலாம், இது முன்பு பிழைக்கு வழிவகுத்தது;
- "கேஸ்" ஆபரேட்டர் மற்றும் வரிசைக் குறியீடு வரம்பிற்கு அப்பாற்பட்டது தொடர்பான சிக்கல்களுக்கான மேம்படுத்தப்பட்ட பிழைத் தகவல்;
- மறு செய்கையின் போது அட்டவணையின் நீளத்தை மாற்றுவது தடைசெய்யப்பட்டுள்ளது.
ஆதாரம்: opennet.ru