Lua 5.4

No zwee Joer Entwécklung, den 29. Juni, gouf eng nei Versioun vun der Lua Programméiersprooch, 5.4, roueg an onmerkbar verëffentlecht.

Lua ass eng einfach, interpretéiert Programméierungssprooch déi einfach an Uwendungen agebaut ka ginn. Wéinst dëse Qualitéite gëtt Lua vill als Sprooch benotzt fir d'Konfiguratioun vu Programmer (besonnesch Computerspiller) ze verlängeren oder ze beschreiwen. Lua gëtt ënner der MIT Lizenz verdeelt.

Déi viregt Versioun (5.3.5) gouf den 10. Juli 2018 verëffentlecht.

Main Ännerungen an der neier Versioun

  • nei Gerempels Sammelstécker baséiert op Generatiounen (generational). An der Collectgarbage Funktioun sinn d'Setpause an Setstepmul Parameteren ofgeschaaft ginn an den inkrementelle Parameter gëtt amplaz recommandéiert;

  • eng nei Funktioun fir Warnungen auszeginn mat der Fäegkeet fir hiren Display auszeschalten;

  • déi nei Ëmsetzung vu math.random benotzt den xoshiro256** Algorithmus amplaz vun deem vun libc geliwwert an initialiséiert den Generator mat enger zoufälleger Zuel;

  • konstante Verännerlechen;

  • "zu-zougemaach" Variabelen sinn lokal Konstanten fir déi d'__close Method ausgefouert gëtt wann den Ëmfang erausgeet;

  • nei Funktioun lua_resettthread - läscht de Stack a mécht all "zougemaach" Verännerlechen zou;

  • nei Funktioun coroutine.close - mécht déi spezifizéierter Coroutine an all seng "zouschlossbar" Variabelen zou;

  • Benotzerdaten (Benotzerdaten) kënnen eng Rei vu Wäerter enthalen, déi vum Index zougänglech sinn. Nei Funktiounen goufen agefouert fir mat hinnen ze schaffen: lua_newuserdatauv, lua_setiuservalue an lua_getiuservalue;

  • Debugging Informatioun iwwer Parameteren a Retourwäerter vu Funktiounen ass verfügbar;

  • wann en ganzt Zuelenindex an der for-Loop benotzt gëtt an en Iwwerfluss geschitt, endet d'Loop;

  • en fakultativ Argument fir d'String.gmatch Funktioun bäigefüügt, déi d'Offset vum Ufank vun der String spezifizéiert fir no Mätscher ze sichen;

  • d'Funktioune vun der implizit Konversioun vun Strings op Zuelen goufen an d'Stringbibliothéik geplënnert, hiert Verhalen huet geännert. Zum Beispill ass d'Resultat vun der Operatioun "1" + "2" elo eng ganz Zuel, net eng schwiewend Punktzuel;

  • an der Erënnerung Bewëllegung Funktioun, e Feeler kann geschéien wann e Erënnerung Spär reduzéiert ass;

  • neie Format Charakter am String.format Funktioun - %p (fir Pointer);

  • d'utf8 Bibliothéik akzeptéiert Charaktercodes bis zu 2³¹ (wann e spezielle Fändel uginn ass, ouni et sinn nëmme Coden bis 0x10FFFF erlaabt a Surrogaten sinn net erlaabt);

  • ganzt Konstanten, déi ausserhalb vum Wäertberäich sinn, ginn a schwiewend Zuelen ëmgewandelt (virdrun Bit Clipping ass geschitt);

  • d'__lt Metamethod gëtt net méi benotzt fir d'__le Metamethod ze emuléieren, wann néideg, muss d'__le Metamethod explizit gesat ginn;

  • e Label fir eng goto Ausso kann net erstallt ginn, wann e Label mam selwechten Numm schonn am aktuellen Ëmfang existéiert (och wann et am baussenzegen Ëmfang definéiert gouf);

  • d'__gc Metamethod kann méi wéi nëmmen eng Funktioun sinn. Wann de Versuch d'Method ze ruffen net klappt, gëtt eng Warnung ugewisen;

  • der Drécken Funktioun ruffen net tostring fir all Argument, mee benotzt seng eege intern Transformatiounen;

  • d'io.lines Funktioun gëtt e Set vu véier Wäerter zréck amplaz vun engem, fir dat alt Verhalen ze emuléieren, schreift den Uruff an Klammern wann Dir et als Parameter ersetzt wann Dir eng aner Funktioun rufft.

Source: linux.org.ru

Setzt e Commentaire