Хоёр жилийн турш хөгжүүлсний дараа 29-р сарын 5.4-нд Луа програмчлалын хэлний XNUMX шинэ хувилбарыг чимээгүйхэн, чимээгүйхэн гаргалаа.

Луа бол программд хялбархан нэгтгэж болох энгийн, тайлбарласан програмчлалын хэл юм. Эдгээр чанаруудын ачаар Луа нь програмын (ялангуяа компьютер тоглоом) тохиргоог өргөтгөх, тайлбарлах хэл болгон өргөн хэрэглэгддэг. Луа нь MIT лицензийн дагуу тараагддаг.

Өмнөх хувилбар (5.3.5) 10 оны 2018-р сарын XNUMX-нд гарсан.

Шинэ хувилбарт гарсан гол өөрчлөлтүүд

  • шинэ үеийн хог түүгч. цуглуулах функцэд setpause болон setstepmul параметрүүдийг хуучирсан бөгөөд оронд нь өсөлтийн параметрийг ашиглахыг зөвлөж байна;

  • дэлгэцийг идэвхгүй болгох чадвартай сэрэмжлүүлэг өгөх шинэ функц;

  • math.random-ын шинэ хэрэгжилт нь өгөгдсөн libc-ийн оронд xoshiro256** алгоритмыг ашиглаж, генераторыг санамсаргүй тоогоор эхлүүлдэг;

  • тогтмол хувьсагч;

  • “хаагдах” хувьсагчид нь хамрах хүрээг орхих үед __хаах аргыг гүйцэтгэдэг орон нутгийн тогтмолууд;

  • lua_resetthread шинэ функц - стекийг цэвэрлэж, бүх "хаагдсан" хувьсагчдыг хаадаг;

  • coroutine.close шинэ функц - заасан корутин болон түүний бүх "хаагдсан" хувьсагчдыг хаадаг;

  • хэрэглэгчийн өгөгдөл нь индексээр хандсан утгуудын багцыг агуулж болно. Тэдэнтэй ажиллах шинэ функцүүдийг нэвтрүүлсэн: lua_newuserdatauv, lua_setiuservalue болон lua_getiuservalue;

  • Функцийн параметрүүд болон буцаах утгын талаархи дибаг хийх мэдээлэл боломжтой;

  • for циклд бүхэл тооны индекс ашиглагдаж, халилт үүсвэл давталт дуусна;

  • string.gmatch функцэд нэмэлт аргумент нэмэгдсэн бөгөөд тохирохыг хайхын тулд мөрийн эхнээс офсетийг зааж өгсөн;

  • Тэмдэгт мөрүүдийг тоо болгон хувиргах функцүүд нь стринг номын санд шилжиж, тэдний зан байдал өөрчлөгдсөн. Жишээлбэл, "1" + "2" үйлдлийн үр дүн нь хөвөгч цэгийн тоо биш бүхэл тоо болсон;

  • санах ойн хуваарилалтын функцэд санах ойн блокыг багасгахад алдаа гарч болзошгүй;

  • string.format функцийн форматын шинэ тэмдэгт - %p (заагчийн хувьд);

  • utf8 номын сан нь 2³¹ хүртэлх тэмдэгтийн кодыг хүлээн авдаг (хэрэв тусгай туг зааж өгсөн бол түүнгүйгээр зөвхөн 0x10FFFF хүртэлх кодыг зөвшөөрч, орлуулагчийг зөвшөөрөхгүй);

  • утгын хүрээнээс гадуур бүхэл тоон тогтмолуудыг хөвөгч тоо болгон хувиргадаг (өмнө нь бит хайчлах тохиолдол гардаг);

  • __lt мета аргыг __le мета аргыг дуурайхад ашиглахаа больсон, шаардлагатай бол __le мета аргыг тодорхой зааж өгөх ёстой;

  • Хэрэв ижил нэртэй шошго одоогийн хамрах хүрээд аль хэдийн байгаа бол goto хэллэгийн шошгыг үүсгэх боломжгүй (гадна хүрээнд тодорхойлсон байсан ч);

  • __gc мета арга нь зөвхөн функцээс илүү байж болно. Хэрэв аргыг дуудах оролдлого амжилтгүй болвол анхааруулга хэвлэгдэх болно;

  • хэвлэх функц нь аргумент бүрийн хувьд tostring дууддаггүй, харин өөрийн дотоод хөрвүүлэлтийг ашигладаг;

  • io.lines функц нь нэг утгын оронд дөрвөн утгын багцыг буцаадаг; хэрэв та өөр функцийн дуудлагад параметр болгон дамжуулж байгаа бол хуучин үйлдлийг дуурайхын тулд дуудлагыг хаалтанд оруулна уу.

Эх сурвалж: linux.org.ru

сэтгэгдэл нэмэх