Lua 5.4

Pas dy vitesh zhvillimi, mĂ« 29 qershor doli qetĂ« dhe pa bujĂ« versioni i ri i gjuhĂ«s sĂ« programimit Lua — 5.4.

Lua është një gjuhë programimi e thjeshtë, që interpretohet dhe lehtë integrohet në aplikacione. Për shkak të këtyre karakteristikave, Lua përdoret gjerësisht si një gjuhë zgjerimi ose për përshkrimin e konfigurimeve të programeve (kryesisht, lojërave kompjuterike). Lua shpërndahet nën licencën MIT.

Versioni i mëparshëm (5.3.5) doli më 10 korrik 2018.

Ndryshimet kryesore në versionin e ri

  • njĂ« mbledhĂ«s i ri i plehrave mbi bazĂ«n e brezave (generational). NĂ« funksionin collectgarbage parametrat setpause dhe setstepmul janĂ« shpallur si tĂ« vjetĂ«ruar, ndĂ«rsa rekomandohet tĂ« pĂ«rdoret parametri incremental;

  • njĂ« funksion i ri pĂ«r dhĂ«nien e paralajmĂ«rimeve warn me mundĂ«sinĂ« e deaktivizimit tĂ« shfaqjes sĂ« tyre;

  • implementimi i ri i math.random pĂ«rdor algoritmin xoshiro256** nĂ« vend tĂ« libc tĂ« ofruar dhe inicizon gjeneratorin me njĂ« numĂ«r tĂ« rastĂ«sishĂ«m;

  • konstatat (constant variables);

  • "variablat pĂ«r t’u mbyllur" (to-be-closed) — konstanta lokale, pĂ«r tĂ« cilat ekzekutohet metoda __close kur del nga fusha e pamjes;

  • funksioni i ri lua_resetthread — pastron stekun dhe kryen mbylljen e tĂ« gjithĂ« "variablave pĂ«r t’u mbyllur";

  • funksioni i ri coroutine.close — mbyllin kooperativin e specifikuar dhe tĂ« gjithĂ« variablat e saj "pĂ«r tĂ« mbyllur";

  • tĂ« dhĂ«nat e pĂ«rdoruesit (userdata) mund tĂ« pĂ«rmbajnĂ« njĂ« grup vlerash me qasje sipas indekseve. PĂ«r tĂ« punuar me to janĂ« futur funksione tĂ« reja: lua_newuserdatauv, lua_setiuservalue dhe lua_getiuservalue;

  • informacioni pĂ«r debugimin e parametrave dhe vlerave tĂ« kthyera tĂ« funksioneve Ă«shtĂ« i disponueshĂ«m;

  • nĂ«se nĂ« njĂ« cikĂ«l pĂ«r numĂ«ruesi for pĂ«rdoret njĂ« indeks tĂ« plotĂ« dhe ndodh tejkalimi — cikli pĂ«rfundon;

  • nĂ« funksionin string.gmatch Ă«shtĂ« shtuar njĂ« argument opsional, qĂ« pĂ«rcakton njĂ« zhvendosje nga fillimi i vargut pĂ«r kĂ«rkimin e pĂ«rputhjeve;

  • funksionet e konvertimit tĂ« fshehtĂ« tĂ« vargjeve nĂ« numra janĂ« transferuar nĂ« bibliotekĂ«n e vargjeve, ka ndryshuar sjellja e tyre. PĂ«r shembull, rezultati i operacionit "1" + "2" tani Ă«shtĂ« njĂ« numĂ«r i plotĂ«, jo njĂ« numĂ«r me pikĂ« float;

  • nĂ« funksionin e alokimit tĂ« memories mund tĂ« ndodhin gabime gjatĂ« reduktimit tĂ« bllokut tĂ« memories;

  • njĂ« simbol i ri formatimi nĂ« funksionin string.format — %p (pĂ«r treguesit);

  • biblioteka utf8 pranon kodet e karaktereve deri nĂ« 2ÂłÂč (me njĂ« flamur tĂ« veçantĂ«, pa tĂ« lejohet vetĂ«m kode deri nĂ« 0x10FFFF dhe nuk lejohet pĂ«rdorimi i zĂ«vendĂ«suesve);

  • konstanta int, qĂ« dalin jashtĂ« gamĂ«s sĂ« vlerave, konvertohen nĂ« numra me pikĂ« float (mĂ« parĂ« ndodhte prerja bit tĂ« dhĂ«nash);

  • metametoda __lt nuk pĂ«rdoret mĂ« pĂ«r tĂ« imituar metametodĂ«n __le, nĂ«se Ă«shtĂ« e nevojshme, metametoda __le duhet tĂ« caktohet nĂ« mĂ«nyrĂ« tĂ« qartĂ«;

  • etiketa pĂ«r operatorin goto nuk mund tĂ« krijohet, nĂ«se nĂ« hapĂ«sirĂ«n aktuale tĂ« dukshmĂ«risĂ« tashmĂ« ekziston njĂ« etikete me tĂ« njĂ«jtin emĂ«r (madje edhe nĂ«se Ă«shtĂ« pĂ«rcaktuar nĂ« njĂ« hapĂ«sirĂ« tĂ« jashtme);

  • metametoda __gc mund tĂ« mos jetĂ« vetĂ«m njĂ« funksion. NĂ«se tentativa pĂ«r tĂ« thirrur metodĂ«n dĂ«shtĂłn, do tĂ« jepet njĂ« paralajmĂ«rim;

  • funksioni print nuk thĂ«rret tostring pĂ«r çdo argument, por pĂ«rdor konvertimet e tij tĂ« brendshme;

  • funksioni io.lines kthen njĂ« grup prej katĂ«r vlerash nĂ« vend tĂ« njĂ«, pĂ«r tĂ« imituar sjelljen e vjetĂ«r, mbyllni thirrjen nĂ« kllapa nĂ«se e pĂ«rdorni si njĂ« parametr nĂ« thirrjen e funksionit tjetĂ«r.

Burimi: linux.org.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster