Nim 0.20 хувилбарыг эхний тогтвортой 1.0 хувилбарт нэр дэвшигч гэж үзэж болох бөгөөд энэ нь хэлний төлөв байдлыг бий болгох анхны тогтвортой салбарыг бүрдүүлэхэд шаардлагатай харилцан ажиллах чадварыг эвдэх хэд хэдэн өөрчлөлтийг багтаасан болно. Хувилбар 1.0 нь хэлний тогтворжсон хэсэгт хоцрогдсон нийцтэй байдлыг хадгалах баталгаатай, тогтвортой, урт хугацааны дэмжлэг үзүүлэх хувилбар гэж тооцогддог. Тус тусад нь хөрвүүлэгч нь туршилтын горимтой байх бөгөөд энэ нь эргээд нийцтэй байдлыг эвдэж болзошгүй шинэ боломжуудыг хөгжүүлэх болно.
Nim 0.20-д санал болгож буй өөрчлөлтүүдийн дунд:
- "Үгүй" нь одоо үргэлж нэгдмэл оператор байдаг, i.e. "assert(a not a)" гэх мэт хэллэгүүдийг одоо зөвшөөрөхгүй бөгөөд зөвхөн "assert not a"-г зөвшөөрнө;
- Эмхэтгэлийн үе шатанд бүхэл тоо болон бодит тоог хөрвүүлэх хатуу шалгалтыг идэвхжүүлсэн, i.e. "const b = uint16(-1)" илэрхийлэл нь одоо алдаа гаргах болно, учир нь -1-ийг тэмдэггүй бүхэл тоонд хөрвүүлэх боломжгүй;
- Тогтмол болон давталтын хувьсагчдын багцуудыг задлах боломжтой.
Жишээлбэл, одоо та 'const (d, e) = (7, "найман")" болон "f-д (x, y)" гэх мэт даалгавруудыг ашиглаж болно; - Хэш болон хүснэгтийн анхдагч тохиргоог өгсөн. Жишээлбэл, "var s: HashSet[int]" гэж зарласны дараа та өмнө нь алдаа гаргаж байсан "s.incl(5)"-г шууд ажиллуулж болно;
- "Case" оператортой холбоотой асуудлуудын алдааны мэдээллийг сайжруулсан ба массивын индекс хязгаараас гарсан;
- Давталтын явцад хүснэгтийн уртыг өөрчлөхийг хориглоно.
Эх сурвалж: opennet.ru