Lua 5.4

Nei twa jier fan ûntwikkeling, op 29 juny, waard in nije ferzje fan 'e programmeartaal Lua, 5.4, rêstich en rêstich útbrocht.

Lua is in ienfâldige, ynterpretearre programmeartaal dy't maklik kin wurde yntegreare yn applikaasjes. Troch dizze kwaliteiten wurdt Lua in protte brûkt as taal foar it útwreidzjen of beskriuwen fan de konfiguraasje fan programma's (benammen kompjûterspultsjes). Lua wurdt ferspraat ûnder de MIT-lisinsje.

De foarige ferzje (5.3.5) waard útbrocht op july 10, 2018.

Main feroarings yn de nije ferzje

  • nije generaasje garbage collector. Yn 'e collectgarbage-funksje binne de parameters setpause en setstepmul ôfkard en de ynkrementele parameter wurdt ynstee oanrikkemandearre;

  • in nije funksje foar it útjaan fan warskôgings mei de mooglikheid om har werjefte út te skeakeljen;

  • de nije ymplemintaasje fan math.random brûkt it xoshiro256** algoritme ynstee fan de levere libc en inisjalisearret de generator mei in willekeurich getal;

  • konstante fariabelen;

  • "te sluten" fariabelen binne lokale konstanten wêrfoar de __close metoade wurdt útfierd as it ferlitten fan it berik;

  • nije funksje lua_resettthread - wisket de stapel en slút alle "sletten" fariabelen;

  • nije funksje coroutine.close - slút de oantsjutte koroutine en al syn "sletten" fariabelen;

  • brûkersgegevens kinne in set wearden befetsje dy't tagonklik is troch yndeks. Nije funksjes binne yntrodusearre om mei har te wurkjen: lua_newuserdatauv, lua_setiuservalue en lua_getiuservalue;

  • Debuggen ynformaasje oer parameters en weromwearden fan funksjes is beskikber;

  • as in hiel getal yndeks wurdt brûkt yn in for loop en der komt in oerstreaming, de loop einiget;

  • in opsjoneel argumint is tafoege oan de string.gmatch funksje, spesifisearje de offset fan it begjin fan de tekenrige om te sykjen nei wedstriden;

  • funksjes foar it ymplisyt konvertearjen fan stringen nei nûmers binne ferpleatst nei de snaarbibleteek, en har gedrach is feroare. Bygelyks, it resultaat fan de operaasje "1" + "2" is no in hiel getal yn stee fan in driuwend-punt getal;

  • yn it ûnthâld tawizing funksje, in flater kin foarkomme as it ferminderjen fan in ûnthâld blok;

  • nij opmaaksymboal yn 'e string.formatfunksje - %p (foar oanwizers);

  • de utf8-bibleteek akseptearret karakterkoades oant 2³¹ (as in spesjale flagge is oantsjutte, sûnder dat binne allinich koades oant 0x10FFFF tastien en surrogaten binne net tastien);

  • hiele getal konstanten bûten it berik fan wearden wurde omboud ta driuwende nûmers (earder bit clipping barde);

  • de __lt-metametoade wurdt net mear brûkt om de __le-metamethod te emulearjen; as it nedich is, moat de __le-metametoade eksplisyt oantsjutte wurde;

  • in label foar in goto-ferklearring kin net oanmakke wurde as in label mei deselde namme al bestiet yn 'e aktuele omfang (sels as it yn 'e bûtenste berik definiearre is);

  • De __gc-metametoade kin mear wêze as allinich in funksje. As in besykjen om in metoade te skiljen mislearret, wurdt in warskôging printe;

  • de printfunksje neamt tostring foar elk argumint, mar brûkt syn eigen ynterne konversaasjes;

  • de funksje io.lines jout in set fan fjouwer wearden werom yn stee fan ien; om it âlde gedrach te emulearjen, omslute de oprop tusken heakjes as jo it as parameter trochjaan oan in oare funksjeoprop.

Boarne: linux.org.ru

Add a comment