Dopu à dui anni di sviluppu, u 29 di ghjugnu, una nova versione di a lingua di prugrammazione Lua, 5.4, hè stata liberata in silenziu è silenziu.
Lua hè una lingua di prugrammazione simplice è interpretata chì pò esse facilmente integrata in l'applicazioni. A causa di sti qualità, Lua hè largamente utilizatu com'è una lingua per allargà o discrive a cunfigurazione di prugrammi (in particulare, ghjochi di computer). Lua hè distribuitu sottu a licenza MIT.
A versione precedente (5.3.5) hè stata liberata u 10 di lugliu di u 2018.
I cambiamenti principali in a nova versione
-
raccolta di rifiuti di nova generazione. In a funzione collectgarbage, i paràmetri setpause è setstepmul sò stati deprecati è u paràmetru incrementale hè cunsigliatu invece;
-
una nova funzione per emette avvisi d'avvisu cù a capacità di disattivà a so visualizazione;
-
a nova implementazione di math.random usa l'algoritmu xoshiro256** invece di a libc furnita è inizializza u generatore cù un numeru aleatoriu;
-
variàbbili custanti;
-
Variabili "à-esse-closed" sò custanti lucali per quale u metudu __close hè eseguitu quandu abbanduneghja u scopu;
-
nova funzione lua_resetthread - sguassate a pila è chjude tutte e variabili "chiuse";
-
nova funzione coroutine.close - chjude a coroutine specificata è tutte e so variàbili "chjusi";
-
I dati di l'utilizatori ponu cuntene un inseme di valori accessibili da l'indice. Nuvelle funzioni sò state introdutte per travaglià cun elli: lua_newuserdatauv, lua_setiuservalue è lua_getiuservalue;
-
L'infurmazione di debugging nantu à i paràmetri è i valori di ritornu di e funzioni hè dispunibule;
-
se un indice interu hè utilizatu in un ciclu for è un overflow si trova, u ciclu finisci;
-
un argumentu facultativu hè statu aghjuntu à a funzione string.gmatch, specificendu l'offset da u principiu di a stringa per circà i partiti;
-
e funzioni per cunvertisce implicitamente strings in numeri sò stati spustati in a biblioteca di string, è u so cumpurtamentu hà cambiatu. Per esempiu, u risultatu di l'operazione "1" + "2" hè avà un integer piuttostu cà un numeru in virgule flottante;
-
in a funzione di allocazione di memoria, un errore pò accade quandu si riduce un bloccu di memoria;
-
novu caratteru di furmatu in a funzione string.format - %p (per pointers);
-
a biblioteca utf8 accetta codici di caratteri finu à 2³¹ (se hè specificatu una bandiera speciale, senza ellu solu i codici finu à 0x10FFFF sò permessi è i surrogati ùn sò micca permessi);
-
custanti interi fora di a gamma di valori sò cunvertiti in numeri flottanti (previamente a clipping bit hè accadutu);
-
u metametudu __lt ùn hè più utilizatu per emulà u metametudu __le; se necessariu, u metametudu __le deve esse specificatu esplicitamente;
-
una etichetta per una dichjarazione goto ùn pò micca esse creata se una etichetta cù u listessu nome esiste digià in u scopu attuale (ancu s'ellu era definitu in u scopu esternu);
-
U metametudu __gc pò esse più cà una funzione. Se un tentativu di chjamà un metudu falla, un avvisu serà stampatu;
-
a funzione di stampa ùn chjama micca tostring per ogni argumentu, ma usa e so cunversione interna;
-
a funzione io.lines torna un inseme di quattru valori invece di unu; per emulà u vechju cumportamentu, aghjunghje a chjama in parentesi se u passanu cum'è un paràmetru à una altra funzione.
Source: linux.org.ru