Lua 5.4

Bi urteko garapenaren ostean, ekainaren 29an, Lua programazio-lengoaiaren bertsio berri bat, 5.4, kaleratu zen isil-isilik.

Lua programazio-lengoaia sinple eta interpretatua da, aplikazioetan erraz integra daitekeena. Ezaugarri hauek direla eta, lua oso erabilia da programen (bereziki, ordenagailu jokoak) konfigurazioa hedatzeko edo deskribatzeko hizkuntza gisa. Lua MIT lizentziapean banatzen da.

Aurreko bertsioa (5.3.5) 10ko uztailaren 2018ean kaleratu zen.

Aldaketa nagusiak bertsio berrian

  • belaunaldi berriko zabor biltzailea. collectgarbage funtzioan, setpause eta setstepmul parametroak zaharkituta geratu dira eta, horren ordez, parametro inkrementala gomendatzen da;

  • abisu-abisuak igortzeko funtzio berri bat, haien pantaila desgaitzeko gaitasunarekin;

  • math.random-en inplementazio berriak xoshiro256** algoritmoa erabiltzen du emandako libc-aren ordez eta sorgailua ausazko zenbaki batekin hasieratzen du;

  • aldagai konstanteak;

  • β€œItxi beharreko” aldagaiak konstante lokalak dira, eta horretarako __close metodoa exekutatzen da esparrutik irtetean;

  • funtzio berria lua_resetthread - pila garbitzen du eta "itxitako" aldagai guztiak ixten ditu;

  • new function coroutine.close - zehaztutako coroutine eta bere "itxitako" aldagai guztiak ixten ditu;

  • erabiltzailearen datuek indizearen bidez atzitutako balio multzo bat izan dezakete. Funtzio berriak sartu dira haiekin lan egiteko: lua_newuserdatauv, lua_setiuservalue eta lua_getiuservalue;

  • Parametroei eta funtzioen itzulera-balioei buruzko arazketa-informazioa eskuragarri dago;

  • for begizta batean indize oso bat erabiltzen bada eta gainezkatzea gertatzen bada, begizta amaitzen da;

  • string.gmatch funtzioari aukerako argumentu bat gehitu zaio, katearen hasierako desplazamendua zehaztuz bat-etortzeak bilatzeko;

  • kateak inplizituki zenbaki bihurtzeko funtzioak kateen liburutegira eraman dira, eta haien portaera aldatu da. Adibidez, "1" + "2" eragiketaren emaitza zenbaki oso bat da orain, koma mugikorreko zenbaki bat baino;

  • memoria esleitzeko funtzioan, errore bat gerta daiteke memoria bloke bat murrizten denean;

  • string.format funtzioan formatu-ikur berria - %p (erakusleetarako);

  • utf8 liburutegiak 2Β³ΒΉ arteko karaktere kodeak onartzen ditu (bandera berezi bat zehazten bada, hori gabe 0x10FFFF arteko kodeak bakarrik onartzen dira eta ordezkoak ez dira onartzen);

  • Balioen barrutitik kanpoko osoko konstanteak zenbaki mugikorretan bihurtzen dira (aurretik bit mozketa gertatu zen);

  • __lt metametodoa jada ez da erabiltzen __le metametodoa emulatzeko; beharrezkoa bada, __le metametodoa esplizituki zehaztu behar da;

  • Ezin da goto adierazpen baterako etiketarik sortu uneko esparruan izen bereko etiketa bat badago jada (kanpoko esparruan definitu bazen ere);

  • __gc metametodoa funtzio bat baino gehiago izan daiteke. Metodo bati deitzeko saiakerak huts egiten badu, abisu bat inprimatuko da;

  • inprimatzeko funtzioak ez du tostring deitzen argumentu bakoitzeko, baina bere barne-bihurketak erabiltzen ditu;

  • io.lines funtzioak bataren ordez lau balio multzo bat itzultzen du; portaera zaharra emulatzeko, jarri deia parentesi artean parametro gisa beste funtzio-dei batera pasatzen ari bazara.

Iturria: linux.org.ru

Gehitu iruzkin berria