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

ترقي جي پنجن سالن کان پوء موجود آهي ڇڏڻ لائو 5.4, هڪ تيز ۽ ڪمپيڪٽ اسڪرپٽنگ پروگرامنگ ٻولي جيڪا وڏي پيماني تي استعمال ٿئي ٿي هڪ ايمبيڊڊ ٻولي (مثال طور، تشريح ڪرڻ يا لکڻ جي توسيع لاءِ). Lua مترجم ڪوڊ C ۽ ۾ لکيل آهي طرفان ورهايل MIT لائسنس تحت.

Lua هڪ سادي طريقيڪار واري نحو کي گڏ ڪري ٿو طاقتور ڊيٽا جي وضاحت جي صلاحيتن سان گڏ ايسوسيئيٽو صفن جي استعمال ذريعي ۽ ٻولي جي وسعت واري سيمينٽڪس. Lua متحرڪ ٽائپنگ استعمال ڪري ٿو، ٻوليءَ جي تعميرات کي بائيٽ ڪوڊ ۾ تبديل ڪري ٿو جيڪو پاڻمرادو ڪچرو گڏ ڪرڻ سان گڏ رجسٽر تي ٻڌل ورچوئل مشين جي مٿي تي هلندو آهي. مترجم خود هڪ لائبريري جي طور تي ٺهيل آهي جيڪا آساني سان C ۽ C++ ٻولين ۾ پروجيڪٽ ۾ ضم ٿي سگهي ٿي.

مکيه جدت:

  • ردي جي ڪليڪٽر جي آپريشن جو هڪ نئون طريقو لاڳو ڪيو ويو آهي - "واڌارو"، جيڪو اڳ ۾ موجود واڌو ڪچرو گڏ ڪرڻ واري موڊ کي پورو ڪيو. نئين موڊ ۾ شامل آهي هڪ ننڍو ڪرال گهڻو ڪري هلائڻ، صرف تازو ٺهيل شين کي ڍڪيندي. سڀني شين جو مڪمل ٽرورسل صرف ان صورت ۾ ڪيو ويندو آهي، جڏهن، مختصر ٽرورسل کان پوء، گهربل ياداشت جي استعمال کي حاصل ڪرڻ ممڪن نه هو. اهو طريقو توهان کي اعلي ڪارڪردگي حاصل ڪرڻ جي اجازت ڏئي ٿو ۽ ميموري واپرائڻ کي گھٽائڻ جي اجازت ڏئي ٿو جڏهن وڏي تعداد ۾ شيون محفوظ ڪري ٿو جيڪي ٿوري وقت لاء رهن ٿا.
  • "const" وصف سان بيان ڪيل مسلسل متغيرن کي بيان ڪرڻ جي صلاحيت شامل ڪئي وئي. اهڙا متغير صرف هڪ ڀيرو تفويض ڪري سگھجن ٿا ۽، هڪ ڀيرو شروع ٿيڻ کان پوء، تبديل نه ٿي ڪري سگھجي.
  • متغيرن لاءِ سپورٽ شامل ڪئي وئي "بند ٿيڻ"، جيڪي "close" وصف استعمال ڪندي مقرر ڪيا ويا آهن ۽ مسلسل مقامي متغيرن سان مشابهت رکن ٿا (const انتساب سان)، انهن کان مختلف آهي ته قدر بند آهي ("__close" طريقو سڏيو ويندو آهي) جڏهن اهو دائرو ڇڏي ٿو، مثال طور، بلاڪ جي عام مڪمل ٿيڻ کان پوء، ٽرانزيڪشن استعمال ڪندي break/goto/return يا exit جڏهن غلطي ٿئي ٿي.
  • قسم "استعمال ڪندڙ ڊيٽا"، جيڪو لوا متغير ۾ ڪنهن به سي ڊيٽا کي ذخيرو ڪرڻ جي صلاحيت فراهم ڪري ٿو (ميموري ۾ ڊيٽا جي هڪ بلاڪ جي نمائندگي ڪري ٿو يا هڪ سي پوائنٽر تي مشتمل آهي)، هاڻي ڪيترن ئي قدرن تي مشتمل ٿي سگھي ٿو (ڪيترائي ميٽابيلون آهن).
  • pseudorandom نمبر ٺاهڻ لاءِ فنڪشن جو هڪ نئون عمل پيش ڪيو ويو آهي - math.random.
  • ڊيڄاريندڙن جو هڪ نظام شامل ڪيو ويو آهي جيڪو اظهار جي استعمال سان طئي ڪيو ويو آهي ڊيڄاريندڙ ۽، غلطين جي برعڪس، پروگرام جي وڌيڪ عمل کي متاثر نه ڪن.
  • شامل ڪيو ويو ڊيبگنگ معلومات بابت فنڪشن دليلن ۽ واپسي جي قيمتن بابت.
  • لوپس ۾ عددن کي ڳڻڻ لاءِ هڪ نئون لفظ تجويز ڪيو ويو آهي "لاء". لوپ شروع ٿيڻ کان اڳ ۾ ورجائي جو تعداد ڳڻيو ويندو آهي، جيڪو متغير اوور فلو ۽ لوپنگ کان بچي ٿو. جيڪڏهن ابتدائي قدر محدود قدر کان وڌيڪ آهي، هڪ غلطي ڏيکاري ٿي.
  • فنڪشن ۾ 'string.gmatch' هڪ نئون اختياري دليل شامل ڪيو 'init'، جيڪو طئي ڪري ٿو ته ڪهڙي پوزيشن تي ڳولا شروع ڪجي (ڊفالٽ طور، 1 ڪردار کان).
  • نوان خاصيتون شامل ڪيا وياlua_resetthread' (ڌاڙي کي ري سيٽ ڪري ٿو، سڄي ڪال اسٽيڪ کي صاف ڪري ٿو ۽ سڀني "بند ٿيڻ واري" متغير کي بند ڪري ٿو) ۽ 'coroutine.close' (ڪوروٽين کي بند ڪري ٿو ۽ سڀني سان لاڳاپيل "بند ٿيڻ وارو" متغير).
  • اسٽرنگ کي انگن ۾ تبديل ڪرڻ جا ڪم "string" لائبريري ۾ منتقل ڪيا ويا آهن.
  • ميموري مختص ڪرڻ واري فنڪشن کي ڪالز هاڻي ناڪام ٿي سگھي ٿي جيڪڏهن ميموري بلاڪ سائيز گھٽجي وئي آهي.
  • فنڪشن ۾ 'string.formatنئين فارميٽ جي وضاحت ڪندڙ '%p' لاءِ سپورٽ شامل ڪئي وئي (پوائنٽر lua_topointer پاران واپس ڪيو ويو).
  • utf8 لائبريري مدد فراهم ڪري ٿي ڪردار جا ڪوڊ 2^31 تائين نمبرن سان.

جو ذريعو: opennet.ru

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