Nim 0.20-nin buraxılışı ilk stabil 1.0 buraxılışı üçün buraxılış namizədi kimi görünə bilər, o cümlədən dilin vəziyyətini təmin edən ilk stabil filialı formalaşdırmaq üçün lazım olan bir neçə uyğunluğu pozan dəyişikliklər. Versiya 1.0 dilin sabitləşmiş hissəsində geriyə uyğunluğu qorumağa zəmanət veriləcək sabit, uzunmüddətli dəstək buraxılışı kimi təqdim olunur. Kompilyatorda ayrıca, geriyə uyğunluğu poza biləcək yeni funksiyaların işlənib hazırlanacağı eksperimental rejim də mövcud olacaq.
Nim 0.20-də təklif olunan dəyişikliklərdən aşağıdakıları qeyd edə bilərik:
- "Yox" indi həmişə bir unar operatordur, yəni. "assert(not a)" kimi ifadələr indi etibarsızdır və yalnız "assert not a"ya icazə verilir;
- Kompilyasiya zamanı tam ədədləri və həqiqi ədədləri çevirmək üçün sərt yoxlamalar aktivləşdirilir, yəni. "const b = uint16(-1)" ifadəsi indi xəta ilə nəticələnəcək, çünki -1 işarəsiz tam tipə çevrilə bilməz;
- Sabitlər və döngə dəyişənləri üçün dəstlərin paketdən çıxarılması təmin edilir.
Məsələn, 'const (d, e) = (7, "səkkiz")' və "for (x, y) in f" kimi tapşırıqlar indi istifadə edilə bilər; - Haşların və cədvəllərin standart işə salınması təmin edilmişdir. Məsələn, "var s: HashSet[int]" elan etdikdən sonra siz dərhal xətaya səbəb olan "s.incl(5)" icra edə bilərsiniz;
- "Case" operatoru və massiv indeksi ilə bağlı problemlər üçün xətaların məlumat məzmunu təkmilləşdirildi;
- İterasiya zamanı cədvəl uzunluğunu dəyişmək qadağandır.
Mənbə: opennet.ru