Nim 0.20 шығарылымын бірінші тұрақты 1.0 шығарылымына үміткер деп санауға болады, ол тілдің күйін жасайтын бірінші тұрақты тармақты қалыптастыру үшін қажетті өзара әрекеттесу қабілетін бұзатын бірнеше өзгерістерді қамтиды. 1.0 нұсқасы тілдің тұрақталған бөлігінде кері үйлесімділікті сақтауға кепілдік беретін тұрақты, ұзақ мерзімді қолдау шығарылымы ретінде ұсынылған. Сонымен қатар, компиляторда кері үйлесімділікті бұзуы мүмкін жаңа мүмкіндіктер әзірленетін эксперименттік режим де болады.
Nim 0.20-да ұсынылған өзгерістердің арасында:
- «Емес» енді әрқашан біртұтас оператор болып табылады, яғни. «assert(a) емес» сияқты өрнектерге енді рұқсат етілмейді және тек «ассерт емес a» рұқсат етіледі;
- Компиляция сатысында бүтін және нақты сандарды түрлендіруге қатаң тексерулер қосылды, яғни. "const b = uint16(-1)" өрнегі енді қатеге әкеледі, себебі -1 таңбасыз бүтін түрге түрлендіру мүмкін емес;
- Тұрақтылар мен циклдік айнымалылар үшін кортеждерді орамнан шығару қарастырылған.
Мысалы, енді ‘const (d, e) = (7, “сегіз”)’ және “f (x, y) үшін” сияқты тапсырмаларды пайдалануға болады; - Хэштер мен кестелерді әдепкі баптандыру қамтамасыз етілді. Мысалы, «var s: HashSet[int]» деп жариялағаннан кейін бұрын қатеге әкелген «s.incl(5)» дереу орындауға болады;
- «Case» операторына және жиым индексіне қатысты мәселелерге қатысты жақсартылған қате ақпараты шектен тыс;
- Итерация кезінде кесте ұзындығын өзгертуге тыйым салынады.
Ақпарат көзі: opennet.ru