Lua 5.4

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

Add a comment