Lua 5.4

Na twee jaar van ontwikkeling, op 29 Junie, is 'n nuwe weergawe van die Lua-programmeertaal, 5.4, stil en stil vrygestel.

Lua is 'n eenvoudige, geïnterpreteerde programmeertaal wat maklik in toepassings geïntegreer kan word. As gevolg van hierdie eienskappe word Lua wyd gebruik as 'n taal om die konfigurasie van programme (veral rekenaarspeletjies) uit te brei of te beskryf. Lua word onder die MIT-lisensie versprei.

Die vorige weergawe (5.3.5) is op 10 Julie 2018 vrygestel.

Belangrikste veranderinge in die nuwe weergawe

  • nuwe generasie vullisverwyderaar. In die collectgarbage-funksie is die setpause- en setstepmul-parameters afgekeur en die inkrementele parameter word eerder aanbeveel;

  • 'n nuwe funksie vir die uitreiking van waarskuwings waarskuwings met die vermoë om hul vertoning te deaktiveer;

  • die nuwe implementering van math.random gebruik die xoshiro256**-algoritme in plaas van die verskafde libc en inisialiseer die kragopwekker met 'n ewekansige getal;

  • konstante veranderlikes;

  • “to-be-sluit” veranderlikes is plaaslike konstantes waarvoor die __close metode uitgevoer word wanneer die bestek verlaat word;

  • nuwe funksie lua_resettthread - maak die stapel skoon en maak alle "geslote" veranderlikes toe;

  • nuwe funksie coroutine.close - maak die gespesifiseerde koroutine en al sy "geslote" veranderlikes toe;

  • gebruikersdata kan 'n stel waardes bevat wat deur indeks verkry word. Nuwe funksies is bekendgestel om daarmee te werk: lua_newuserdatauv, lua_setiuservalue en lua_getiuservalue;

  • Ontfoutingsinligting oor parameters en terugkeerwaardes van funksies is beskikbaar;

  • as 'n heelgetalindeks in 'n for-lus gebruik word en 'n oorloop vind plaas, eindig die lus;

  • 'n opsionele argument is by die string.gmatch-funksie gevoeg, wat die afwyking vanaf die begin van die string spesifiseer om vir passings te soek;

  • funksies vir die implisiete omskakeling van stringe na getalle is na die string biblioteek geskuif, en hul gedrag het verander. Byvoorbeeld, die resultaat van die bewerking "1" + "2" is nou 'n heelgetal eerder as 'n drywende-puntgetal;

  • in die geheuetoewysingsfunksie kan 'n fout voorkom wanneer 'n geheueblok verminder word;

  • nuwe formatering karakter in die string.format funksie - %p (vir wysers);

  • die utf8-biblioteek aanvaar karakterkodes tot 2³¹ (as 'n spesiale vlag gespesifiseer word, word daarsonder slegs kodes tot 0x10FFFF toegelaat en surrogate word nie toegelaat nie);

  • heelgetalkonstantes buite die reeks waardes word omgeskakel na swewende getalle (voorheen het bisknipsel plaasgevind);

  • die __lt-metametode word nie meer gebruik om die __le-metametode na te boots nie; indien nodig moet die __le-metametode uitdruklik gespesifiseer word;

  • 'n etiket vir 'n goto-stelling kan nie geskep word as 'n etiket met dieselfde naam reeds in die huidige bestek bestaan ​​nie (selfs al is dit in die buitenste bestek gedefinieer);

  • Die __gc-metametode kan meer as net 'n funksie wees. As 'n poging om 'n metode te roep misluk, sal 'n waarskuwing gedruk word;

  • die drukfunksie roep nie tostring vir elke argument nie, maar gebruik sy eie interne omskakelings;

  • die io.lines-funksie gee 'n stel van vier waardes in plaas van een terug; om die ou gedrag na te boots, sluit die oproep tussen hakies in as jy dit as 'n parameter na 'n ander funksie-oproep deurgee.

Bron: linux.org.ru

Voeg 'n opmerking