Programmeerimiskeel Lua 5.5 on saadaval.

PÀrast viit aastat arendust on vÀljas Lua 5.5 versioon, kiire ja kompaktne skriptikeel, mis on laialdaselt kasutusel konfigureerimise mÀÀratlemiseks ja laienduste kirjutamiseks. Lua tÔlkija kood on kirjutatud C-keeles ja jagatakse MIT litsentsi alusel.

Lua ĂŒhendab lihtsa protseduurilise sĂŒntaksi andmete kirjeldamise vĂ”imalustega, kasutades assotsiatiivseid massiive ja laiendatavat keele semantikat. Luas kasutatakse dĂŒnaamilist tĂŒĂŒpimist, ning keelekonstruktsioonid muudetakse baitkoodiks, mis töötab registreeritud virtuaalmasina peal automaatse prĂŒgitĂ”rjega. TĂ”lkija on kujundatud raamatukoguna, mis integreeritakse C ja C++ projektidesse.

PÔhilised uuendused:

  • Enamik jÀÀtmete koristamise operatsioonidest toimub inkrementaalses reĆŸiimis, kus jÀÀtmete koristamise tsĂŒkkel jagatakse eraldi sammudeks, mis vahelduvad programmide tĂ€itmisega, vĂ”imaldades vĂ€ltida pikaajalisi katkestusi suure hulga objektidega mĂ€lu haldamisel.
  • Ettepanek eksklusiivne teostus massiivide jaoks, mis vajab 60% vĂ€hem mĂ€lu ĂŒhetaoliste andmete massiivide jaoks (sÀÀst saavutatakse, hoides tĂŒĂŒbiteavet mitte iga elemendi, vaid elemendigruppide jaoks).
  • Lisatud on vĂ”imalus globaalsete muutujaid eksplicitse sĂ”naga „global“ igas koodiblokis deklareerida. Kui koodiblokis kasutatakse sĂ”na „global“, peavad kĂ”ik muutujad olema kindlasti eksplitsiitselt deklareeritud. Kui „global“-sĂ”na ei ole, siis seadistatakse vaikimisi vĂ€ljend „global *“, mille korral jÀÀb vana kĂ€itumine kehtima ning kĂ”ik muutujad tĂ”lgendatakse globaalsetena. Samuti on lisatud vĂ€ljend „global<const> *“, mille korral muutuvad kĂ”ik vaikselt mÀÀratud globaalmuutujad ainult lugemisreĆŸiimis kĂ€ttesaadavaks. X = 1 — Ok, X — globaalne muutuja, vana vaikimisi kĂ€itumine. do global Y — muutuja Y deklareerimine globaalsete hulka, kĂ”ik muud muutujad blokis peavad olema eksplitsiitselt deklareeritud Y = 1 — Ok, muutuja Y on varem mÀÀratletud X = 1 — Viga, muutuja X ei ole mÀÀratletud end X = 2 — Ok, vĂ€ljaspool global plokki kehtib vana kĂ€itumine.
  • TsĂŒklites «for» kasutatavad juhtvarsud on nĂŒĂŒd ainult lugemiseks ja neid ei saa tsĂŒkli kehas muuta. NĂ€iteks ei saa tsĂŒklis «for i = 1, 5 do» deklareeritud muutujat i tsĂŒkli kehas muuta.
  • Ruutuvaalade vĂ€ljundis funktsiooni print kaudu kuvatakse nĂŒĂŒd piisavalt numbreid, et tagada Ă”ige tagasimuundamine stringist algsesse esitusesse.
  • Lubatud tabeli konstruktorite sisese ĂŒlemineku tase on suurendatud.
  • Lisatud funktsioon table.create(nseq, nrec) tĂŒhja tabeli lisamiseks ja mĂ€lukoguse ettevalmistamiseks mÀÀratud elementide arvu jaoks.
  • Funktsioonis utf8.offset tagastatakse nĂŒĂŒd mitte ainult baitide offset alguspunktini, vaid ka sĂŒmboli lĂ”pp-punkti positsioon.
  • Lisatud on toetused vĂ€liste stringide loomisele, mis asuvad mĂ€lus, mida Lua prĂŒgikogumise mehhanism ei halda.
  • Lisatud funktsioon luaL_openselectedlibs valitud teegi laadimiseks ja samuti funktsioon luaL_makeseed, mis genereerib seemne kĂŒtikule funktsioonile lua_newstate.
  • Lua.c-s on seadistatud dĂŒnaamiline laadimine raamatukogust 'readline', kui see on olemas (kui raamatukogu on sĂŒsteemis, laaditakse see ja stringide redigeerimise funktsioonid on saadaval).
  • LĂŒlitatud on mĂ€lu sÀÀstmine eelnevalt kompileeritud baitkoodi laadimisel - Lua suudab nĂŒĂŒd taaskasutada mĂ€lu mĂ”nedes sisestes struktuurides ilma dubleeritud baitkoodi laadimise vĂ€ltimiseks dubleeringute loomise vajaduseta.
  • KĂ”ikide stringide taaskasutamine on tagatud 'dump' ja 'undump' operatsioonides.
  • Aitamiseks loodud puhverdes on tagatud puhverdes taaskasutamine (ilma uude puhverdesse kopeerimiseta) lĂ”pliku stringi loomise ajal.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster