ڪرسٽل پروگرامنگ ٻولي جو رليز 1.5

ڪرسٽل 1.5 پروگرامنگ ٻولي جو رليز شايع ڪيو ويو آهي، جنهن جا ڊولپرز ڪوشش ڪري رهيا آهن ته روبي ٻولي ۾ ترقي جي سهولت کي سي ٻولي جي اعلي ايپليڪيشن ڪارڪردگي خاصيت سان گڏ. ڪرسٽل جو نحو ويجھو آھي، پر روبي سان مڪمل طور تي مطابقت نٿو رکي، جيتوڻيڪ ڪجھ روبي پروگرام بغير ترميم جي ھلندا آھن. گڏ ڪرڻ وارو ڪوڊ ڪرسٽل ۾ لکيل آهي ۽ Apache 2.0 لائسنس تحت ورهايو ويو آهي.

ٻولي جامد قسم جي چڪاس کي استعمال ڪندي، ڪوڊ ۾ متغير ۽ طريقن جي دليلن جي واضح طور تي وضاحت ڪرڻ جي ضرورت کان سواء لاڳو ٿئي ٿي. ڪرسٽل پروگرامن کي ٺهڪندڙ فائلن ۾ مرتب ڪيو ويو آهي، جنهن ۾ ميڪروز جو جائزو ورتو ويو آهي ۽ ڪوڊ ٺاهيل وقت تي. ڪرسٽل پروگرامن ۾، سي ۾ لکيل بائنڊنگ کي ڳنڍڻ ممڪن آهي. ڪوڊ جي تعميل جي عمل کي "سپون" لفظ استعمال ڪندي ڪيو ويندو آهي، جيڪو توهان کي اجازت ڏئي ٿو پس منظر جي ڪم کي هم وقت سازي سان هلائڻ جي، بنيادي ٿريڊ کي بلاڪ ڪرڻ کان سواءِ، هلڪو وزن جي سلسلي جي صورت ۾، جنهن کي فائبر سڏيو ويندو آهي.

معياري لائبريري عام ڪمن جو هڪ وڏو سيٽ مهيا ڪري ٿي، بشمول CSV، YAML، ۽ JSON پروسيسنگ جا اوزار، HTTP سرورز ٺاهڻ لاءِ اجزاء، ۽ WebSocket سپورٽ. ترقي جي عمل دوران، "ڪرسٽل راند" ڪمانڊ استعمال ڪرڻ آسان آھي، جيڪو ھڪڙي ويب انٽرفيس (localhost:8080 by default) ڪوڊ جي انٽرايڪٽو عمل لاءِ ڪرسٽل ٻولي ۾ ٺاھي ٿو.

مکيه تبديليون:

  • مرتب ڪندڙ هڪ خلاصي طريقي جي عمل ۽ ان جي تعريف ۾ دليلن جي نالن جي مطابقت لاءِ چيڪ شامل ڪيو آهي. جيڪڏهن ڪو نالن سان ميلاپ آهي، هڪ ڊيڄاريندڙ هاڻي جاري ڪيو ويو آهي: خلاصو ڪلاس FooAbstract abstract def foo(نمبر: Int32): Nil end class Foo < FooAbstract def foo(name: Int32) : Nil p name end end 6 | def foo(نالو: Int32) : Nil ^— خبردار: پوزيشنل پيراميٽر 'نالو' اوور رائڊ ٿيل طريقي جي پيرا ميٽر 'نمبر' سان ملندو آهي FooAbstract#foo(number: Int32)، جنهن جو نالو مختلف آهي ۽ شايد نالي واري دليل جي پاسنگ کي متاثر ڪري سگهي ٿو.
  • جڏهن هڪ دليل کي تفويض ڪندي اڻ ٽائپ ٿيل طريقي سان هڪ متغير جي قيمت تي، دليل هاڻي ان متغير جي قسم تائين محدود آهي. ڪلاس Foo @x : Int64 def initialize(x) @x = x # parameter x ٽائيپ ڪيو ويندو @x جي آخر ۾
  • توھان کي اجازت ڏئي ٿو تشريحون شامل ڪرڻ جي طريقن يا ميڪرو جي پيٽرولن ۾. def foo (@[MaybeUnused] x)؛ آخر # ٺيڪ
  • مسلسل استعمال ڪرڻ لاءِ سپورٽ شامل ڪئي وئي جيئن اشارن ۽ نالن ۾ ٽيپ. KEY = "s" foo = {s: "string", n: 0} puts foo[KEY].size
  • فائلن ۽ ڊائريڪٽرن کي حذف ڪرڻ لاءِ فائل API ۾ نئون فائل#delete؟ طريقا شامل ڪيا ويا آھن. ۽ Dir#delete؟، جيڪو غلط موٽائي ٿو جيڪڏهن فائل يا ڊاريڪٽري غائب آهي.
  • File.tempfile طريقي جي حفاظت کي مضبوط ڪيو ويو آھي، جيڪو ھاڻي ان لائنن ۾ null اکرن کي اجازت نه ڏيندو آھي جيڪي فائل جو نالو ٺاھيندا آھن.
  • شامل ڪيو ويو ماحولياتي متغير NO_COLOR، جيڪو ڪمپلر ۽ مترجم آئوٽ ۾ رنگ نمايان ڪرڻ کي غير فعال ڪري ٿو.
  • مترجم موڊ ۾ ڪم تمام گهڻو بهتر ڪيو ويو آهي.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو