نم 0.20 کی ریلیز کو پہلی مستحکم 1.0 ریلیز کے لیے ریلیز امیدوار کے طور پر دیکھا جا سکتا ہے، جس میں زبان کی حالت کا ارتکاب کرنے والی پہلی مستحکم شاخ کی تشکیل کے لیے متعدد مطابقت پذیر تبدیلیاں بھی شامل ہیں۔ ورژن 1.0 کو ایک مستحکم، طویل مدتی سپورٹ ریلیز کے طور پر سمجھا جاتا ہے جو زبان کے مستحکم حصے میں پسماندہ مطابقت کو برقرار رکھنے کی ضمانت دی جائے گی۔ الگ سے، کمپائلر میں ایک تجرباتی موڈ بھی دستیاب ہو گا، جس میں نئی خصوصیات تیار کی جائیں گی جو پسماندہ مطابقت کو توڑ سکتی ہیں۔
نم 0.20 میں تجویز کردہ تبدیلیوں میں سے، ہم نمایاں کر سکتے ہیں:
- "نہیں" اب ہمیشہ ایک غیر آپریٹر ہے، یعنی "assert(not a)" جیسے تاثرات اب غلط ہیں اور صرف "assert not a" کی اجازت ہے۔
- کمپائل کے وقت انٹیجرز اور حقیقی نمبروں کو تبدیل کرنے کے لیے سخت جانچیں فعال ہیں، یعنی اظہار "const b = uint16(-1)" اب ایک غلطی کا نتیجہ ہوگا، کیونکہ -1 کو غیر دستخط شدہ عددی قسم میں تبدیل نہیں کیا جاسکتا۔
- مستقل اور لوپ متغیرات کے لیے ٹیوپلز کی پیکنگ فراہم کی گئی ہے۔
مثال کے طور پر، 'const (d, e) = (7, "eight")' اور "for (x, y) in f" جیسی اسائنمنٹس اب استعمال کی جا سکتی ہیں۔ - ہیشز اور ٹیبلز کی ڈیفالٹ ابتداء فراہم کی گئی۔ مثال کے طور پر، "var s: HashSet[int]" کا اعلان کرنے کے بعد، آپ فوری طور پر "s.incl(5)" پر عمل درآمد کر سکتے ہیں، جو غلطی کا باعث بنتا تھا۔
- "کیس" آپریٹر سے متعلق مسائل کے لیے غلطیوں کے معلوماتی مواد کو بہتر بنایا اور حد سے باہر سرنی انڈیکس؛
- تکرار کے دوران ٹیبل کی لمبائی کو تبدیل کرنا منع ہے۔
ماخذ: opennet.ru