روبي پروگرامنگ ٻولي جو رليز 3.1

روبي 3.1.0 جاري ڪيو ويو، هڪ متحرڪ اعتراض تي مبني پروگرامنگ ٻولي جيڪا پروگرام ڊولپمينٽ ۾ انتهائي ڪارائتو آهي ۽ پرل، جاوا، پٿون، سمال ٽالڪ، ايفل، اڊا ۽ لِسپ جون بهترين خاصيتون شامل ڪري ٿي. پروجيڪٽ ڪوڊ BSD ("2-شق BSDL") ۽ "روبي" لائسنس جي تحت ورهايو ويو آهي، جيڪو GPL لائسنس جي جديد ورزن ڏانهن اشارو ڪري ٿو ۽ مڪمل طور تي GPLv3 سان مطابقت رکي ٿو.

بنيادي سڌارا:

  • هڪ نئون تجرباتي ان-پراسيس JIT مرتب ڪندڙ، YJIT، شامل ڪيو ويو آهي، Shopify اي ڪامرس پليٽ فارم جي ڊولپرز پاران ٺاهيل هڪ شروعات جي حصي طور روبي پروگرامن جي ڪارڪردگي کي بهتر بڻائڻ لاءِ جيڪي ريل فريم ورڪ کي استعمال ڪن ٿا ۽ ڪيترن ئي طريقن کي سڏين ٿا. اڳ ۾ استعمال ٿيل MJIT JIT ڪمپلر کان اهم فرق، جيڪو سڀني طريقن جي پروسيسنگ تي ٻڌل آهي ۽ C ٻولي ۾ هڪ خارجي ڪمپلر استعمال ڪري ٿو، اهو آهي ته YJIT Lazy Basic Block Versioning (LBBV) استعمال ڪري ٿو ۽ هڪ مربوط JIT ڪمپلر تي مشتمل آهي. LBBV سان، JIT پهريون ڀيرو صرف طريقي جي شروعات کي گڏ ڪري ٿو، ۽ باقي ڪجهه وقت بعد گڏ ڪري ٿو، بعد ۾ استعمال ٿيل متغيرن ۽ دليلن جي قسمن جي عمل جي دوران طئي ٿيل آهن. YJIT استعمال ڪندي، ريل بينچ ٽيسٽ کي هلائڻ دوران ڪارڪردگي ۾ 22٪ اضافو رڪارڊ ڪيو ويو، ۽ مائع-رينجر ٽيسٽ ۾ 39٪ اضافو. YJIT في الحال x86-64 آرڪيٽيڪچر سان سسٽم تي يونڪس جهڙوڪ او ايسز جي سپورٽ تائين محدود آهي ۽ ڊفالٽ طور تي بند ٿيل آهي (فعال ڪرڻ لاءِ، ڪمانڊ لائن ۾ "--yjit" پرچم جي وضاحت ڪريو).
  • پراڻي MJIT JIT ڪمپيلر جي بهتر ڪارڪردگي. ريل استعمال ڪرڻ وارن منصوبن لاءِ، ڊفالٽ وڌ ۾ وڌ ڪيش سائيز (-jit-max-cache) کي 100 کان 10000 هدايتن تائين وڌايو ويو آھي. 1000 کان وڌيڪ هدايتون سان طريقن لاء JIT استعمال ڪرڻ بند ڪيو. Zeitwerk of Rails کي سپورٽ ڪرڻ لاءِ، JIT ڪوڊ هاڻي رد نه ڪيو ويو آهي جڏهن TracePoint ڪلاس جي واقعن لاءِ فعال آهي.
  • ان ۾ مڪمل طور تي ٻيهر لکيل debug.gem ڊيبگر شامل آهي، جيڪو ريموٽ ڊيبگنگ کي سپورٽ ڪري ٿو، ڊيبگ ٿيل ايپليڪيشن کي سست نٿو ڪري، ترقي يافته ڊيبگنگ انٽرفيس (VSCode ۽ Chrome) سان انضمام کي سپورٽ ڪري ٿو، ملٽي ٿريڊ ۽ ملٽي پروسيس ايپليڪيشنن کي ڊيبگ ڪرڻ لاءِ استعمال ڪري سگھجي ٿو. هڪ REPL ڪوڊ ايگزيڪيوشن انٽرفيس، پيش ڪري ٿو ترقي يافته ٽريڪنگ صلاحيتون، رڪارڊ ڪري سگهي ٿو ۽ ڪوڊ جي ٽڪڙن کي ريپلي ڪري سگھي ٿو. اڳ ۾ پيش ڪيل ڊيبگر lib/debug.rb بنيادي تقسيم مان هٽايو ويو آهي.
    روبي پروگرامنگ ٻولي جو رليز 3.1
  • ڪال بيڪ ٽريس رپورٽن ۾ غلطين جي بصري نمايان ڪرڻ تي عمل ڪيو ويو. بلٽ-ان ۽ ڊفالٽ-فعال گيم پيڪيج error_highlight استعمال ڪندي غلطي جي پرچمنگ مهيا ڪئي وئي آهي. غلطي جي پرچم کي غير فعال ڪرڻ لاء، توھان استعمال ڪري سگھو ٿا "--disable-error_highlight" سيٽنگ. $ ruby ​​test.rb test.rb:1:in " ": undefined طريقو "time" لاء 1:Integer (NoMethodError) 1.time {} ^^^^^ ڇا توهان جو مطلب آهي؟ ڀيرا
  • انٽرايڪٽو حسابن جو شيل IRB (REPL, Read-Eval-Print-Loop) داخل ٿيل ڪوڊ جي خودڪار مڪمل ٿيڻ کي لاڳو ڪري ٿو (جيئن توهان ٽائيپ ڪريو ٿا، هڪ اشارو ڏيکاريو ويندو آهي اختيارن سان جاري رکڻ لاءِ، جنهن جي وچ ۾ توهان ٽيب يا شفٽ+ سان منتقل ڪري سگهو ٿا. ٽيب جي چاٻي). تسلسل اختيار کي چونڊڻ کان پوء، هڪ ڊائلاگ باڪس ويجھي ڏيکاري ٿو جيڪو منتخب ٿيل شيون سان لاڳاپيل دستاويز ڏيکاري ٿو. ڪيبورڊ شارٽ ڪٽ Alt+d مڪمل دستاويزن تائين رسائي حاصل ڪرڻ لاءِ استعمال ڪري سگھجي ٿو.
    روبي پروگرامنگ ٻولي جو رليز 3.1
  • ٻوليءَ جو نحو ھاڻي اجازت ڏئي ٿو قدرن کي ھئش لٽرلز ۾ ۽ لفظي دليلن کي ڇڏي ڏنو وڃي جڏھن فنڪشن کي ڪال ڪريو. مثال طور، "{x: x, y: y}" جي اظهار جي بدران توهان هاڻي وضاحت ڪري سگهو ٿا "{x:, y:}"، ۽ بدران "foo(x: x, y: y)" - foo( x:، y:)"
  • سنگل-لائن جي نمونن جي ميلاپ لاءِ مستحڪم سپورٽ (ary => [x, y, z])، جن کي هاڻي تجرباتي طور نشانو نه بڻايو ويو آهي.
  • نمونن جي ميلن ۾ "^" آپريٽر ھاڻي صوابديدي اظهار تي مشتمل ٿي سگھي ٿو، مثال طور: Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3).to_a #= >؟ [3، 5]، [5، 7]، [11، 13]]
  • سنگل لائين پيٽرن جي ميلن ۾، توھان ختم ڪري سگھو ٿا قوسون: [0, 1] => _, x {y: 2} => y: x #=> 1 y #=> 2
  • آر بي ايس قسم جي تشريح واري ٻولي، جيڪا توهان کي پروگرام جي ساخت ۽ استعمال ڪيل قسمن کي طئي ڪرڻ جي اجازت ڏئي ٿي، "<" علامت استعمال ڪندي قسم جي پيرا ميٽرن جي مٿين حد کي بيان ڪرڻ لاءِ سپورٽ شامل ڪئي آهي، عام قسمن جي عرفن لاءِ سپورٽ شامل ڪئي وئي آهي. جواڙن جي انتظام لاءِ مجموعا، ڪارڪردگي بهتر ڪرڻ ۽ تعمير ٿيل ۽ معياري لائبريرين لاءِ ڪيترائي نوان دستخط لاڳو ڪيا.
  • ضم ٿيل ترقي واري ماحول لاءِ تجرباتي سپورٽ TypePro جامد قسم جي تجزيي ۾ شامل ڪئي وئي آهي، جيڪو RBS تشريحون ٺاهي ٿو ڪوڊ تجزيي جي بنياد تي واضح قسم جي معلومات کان سواءِ (مثال طور، هڪ اضافو تيار ڪيو ويو آهي TypePro کي VSCode ايڊيٽر سان ضم ڪرڻ لاءِ).
  • ڪيترن ئي اسائنمنٽس جي پروسيسنگ جي ترتيب کي تبديل ڪيو ويو آهي. مثال طور، اڳ ۾ "foo[0]، bar[0] = baz، qux" جي جملي جي جزن کي باز، qux، foo، bar جي ترتيب سان عمل ڪيو ويندو هو، پر هاڻي foo، bar، baz، qux.
  • شامل ڪيل تجرباتي مدد لاءِ ميموري مختص ڪرڻ لاءِ اسٽرنگ استعمال ڪندي VWA (متغير ويڪر مختص) ميڪانيزم.
  • تعمير ٿيل گيم ماڊلز جا اپڊيٽ ورجن ۽ جيڪي معياري لائبريري ۾ شامل آھن. net-ftp، net-imap، net-pop، net-smtp، ميٽرڪس، پرائم ۽ ڊيبگ پيڪيجز ٺهيل آهن.

جو ذريعو: opennet.ru

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