Lëshimi i gjuhës së programimit Lua 5.4

Pas pas pesë vjet zhvillimi disponibel lëshimi Lua 5.4, një gjuhë e shkrimit të shpejtë dhe kompakte, e cila ka fituar popullaritet të madh si një gjuhë e inkorporuar (për shembull, për përcaktimin e konfigurimeve ose për shkrimin e zgjerimeve). Kodi i interpretuesit Lua është shkruar në gjuhën C dhe distribuohet në përputhje me licencën MIT.

Lua kombinon një sintaksë procedurale të thjeshtë me mundësi të fuqishme për përshkrimin e të dhënave përmes përdorimit të grupeve asociative dhe semantikës së zgjerueshme të gjuhës. Në Lua aplikohet tipizimi dinamik, konstrukcionet gjuhësore shndërrohen në kod bajt, që ekzekutohet mbi një makinë virtuale me regjistrat dhe mbledhës automatik të mbeturinave. Vetë interpretuesi është formuar si një bibliotekë, e cila mund të integrohet lehtësisht në projekte në gjuhët C dhe C++.

Ndryshimet kryesore risitë:

  • ËshtĂ« realiizuar njĂ« mĂ«nyrĂ« e re punimi pĂ«r mbledhĂ«sin e mbeturinave — "generational«, e cila e plotĂ«sonte modin e mĂ«parshĂ«m inkremental tĂ« mbledhjes sĂ« mbeturinave. Moda e re nĂ«nkupton ekzekutimin mĂ« tĂ« shpeshtĂ« tĂ« njĂ« rrethimi tĂ« shkurtuar, qĂ« mbulon vetĂ«m objektet e krijuara sĂ« fundmi. NjĂ« rrethim i plotĂ« i tĂ« gjitha objekteve kryhet vetĂ«m nĂ«se pas rrethimit tĂ« shkurtuar nuk arrihen treguesit e dĂ«shiruar tĂ« konsumit tĂ« memories. NjĂ« qasje e tillĂ« lejon arritjen e njĂ« performancĂ« mĂ« tĂ« lartĂ« dhe uljen e konsumit tĂ« memories nĂ« situata ku ruhen njĂ« numĂ«r i madh objektesh me jetĂ« tĂ« shkurtĂ«r.
  • Shtuar mundĂ«sia e pĂ«rcaktimit tĂ« variablave tĂ« qĂ«ndrueshĂ«m, tĂ« pĂ«rcaktuar me atribute «const». TĂ« tillĂ« variabla mund tĂ« caktohen vetĂ«m njĂ« herĂ« dhe pas inicializimit nuk mund tĂ« ndryshohen mĂ«.
  • Shtuar mbĂ«shtetje pĂ«r variablat «to-be-closed«, tĂ« cilat caktohen me atributin «close» dhe duken si variabla tĂ« pĂ«rhershĂ«m lokalĂ« (me atributin const), duke u dalluar nga ata nĂ« faktin se vlera e tyre mbyllet (metoda «__close» thirret) nĂ« çdo dalje nga domaini, pĂ«r shembull, pas pĂ«rfundimit normal tĂ« bllokut, kalimit me anĂ« tĂ« break/goto/return ose daljes nĂ« rast tĂ« njĂ« gabimi.
  • Tipi «userdata«, qĂ« ofron mundĂ«sinĂ« pĂ«r tĂ« ruajtur nĂ« variablat Lua çdo tĂ« dhĂ«nĂ« C (pĂ«rfaqĂ«son njĂ« bllok tĂ« dhĂ«nash nĂ« memorie ose pĂ«rmban njĂ« tregues C), tani mund tĂ« pĂ«rmbajĂ« disa vlera (tĂ« ketĂ« disa metatabla).
  • ËshtĂ« prezantuar njĂ« realizim i ri i funksionit pĂ«r gjenerimin e numrave pseudo-random — math.random.
  • Ă«shtĂ« shtuar njĂ« sistem paralajmĂ«rimi, tĂ« cilat pĂ« dĂ©finir janĂ« tĂ« caktuara nĂ«pĂ«rmjet shprehjes warn dhe, ndryshe nga gabimet, nuk ndikojnĂ« nĂ« ekzekutimin e mĂ«tejshĂ«m tĂ« programit.
  • Informacioni pĂ«r debugging Ă«shtĂ« shtuar mbi argumentet e funksioneve dhe vlerat e kthyer nĂ« operatorin «return».
  • NjĂ« semantikĂ« e re Ă«shtĂ« propozuar pĂ«r kalimin e numrave tĂ« tĂ«rĂ« nĂ« ciklet «pĂ«r«. Numri i iteracioneve llogaritet para fillimit tĂ« ciklit, gjĂ« qĂ« lejon shmangien e mbingarkesĂ«s sĂ« variablit dhe rikthimit nĂ« cikĂ«l. NĂ«se vlera fillestare Ă«shtĂ« mĂ« e madhe se kufiri, shfaqet njĂ« gabim.
  • NĂ« funksionin ‘string.gmatch‘ Ă«shtĂ« shtuar njĂ« argument i ri joobligator ‘init’, qĂ« pĂ«rcakton nga cila pozita tĂ« fillohet kĂ«rkimi (nĂ« parazgjedhje nga 1 karakter).
  • Funksionet e reja ‘lua_resetthread‘ (rivendos pĂ«rcjellĂ«sin, pastron tĂ« gjithĂ« stekĂ«t e thirrjeve dhe mbyll tĂ« gjitha variablat «to-be-closed») dhe ‘coroutine.close‘ (mbyllet programin dhe tĂ« gjitha variablat e lidhur «to-be-closed»).
  • Funksionet e konvertimit tĂ« vargjeve nĂ« numra janĂ« transferuar nĂ« bibliotekĂ«n «string».
  • Thirrja e funksionit pĂ«r alokimin e memories tani mund tĂ« dĂ«shtojĂ« nĂ« rast tĂ« zvogĂ«limit tĂ« madhĂ«sisĂ« sĂ« bllokut tĂ« memories.
  • NĂ« funksionin ‘string.format‘ Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r specifikuesin e ri tĂ« formatit ‘%p’ (pikat e kthimit nga lua_topointer).
  • NĂ« bibliotekĂ«n utf8 Ă«shtĂ« siguruar mbĂ«shtetje pĂ«r kodet e karaktereve me numra deri nĂ« 2^31.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster