Dimitte de lingua programmandi Luae 5.4

Post quinque annos evolutionis praesto release Luae Matri 5.4, lingua programmandi celeris et compacta quae late adhibetur ut lingua infixa (exempli gratia ad definiendum configurationem vel extensiones scripto). In codice Luae interpres scriptum est in C and per distribui sub licentia MIT.

Lua syntaxin processualem simplicem coniungit cum potentibus datarum descriptionum facultatibus per usum associativorum vestium et semanticorum linguae extensibiles. Lua typing dynamico utitur, linguam convertens in bytecode constructis quae in summo machinae virtualis actis mandari fundatae cum collectione latis purgamentorum utitur. Interpres ipse ad bibliothecam destinatur quae facile in incepta in C et C++ linguas inseri potest.

Main innovations:

  • Novus modus operandi quisquiliarum collector ad effectum est - "generational", quod antea in promptu est modus collectionis quisquiliarum incremental complevit. Novus modus involvit currendo saepius repere curtatos, solum recentes res creatas obtegens. Plena rerum omnium percursio tantum peragitur si post brevem emensum non potest optatam memoriam consummatio consequi. Hic aditus permittit ut altiorem effectum consequi et memoriam consummare minuere, cum magnum numerum rerum quae brevi tempore vivant recondere.
  • Facultatem adiecit variabiles constantes definiendi attributum cum "const" definitis. Variationes tales semel tantum assignari possunt et semel initialized mutari non possunt.
  • Auxilia variabilium addita "ut-clausi", quae attribuuntur per "propinquum" attributum et similes variabilium localium constantium (cum consto attributo), ab illis differentes quod valor clausus (the "__close" modus appellatur) quoties scopo recedit, v.gr. post normalem complementum clausus, transitus utens confractus / gata / reditus vel exitus cum error occurrit.
  • Typus "user notitia", quod facultatem praebet variabilium quaevis C data in Luae (truncum notitiarum in memoria repraesentat vel monstratorem C continet), nunc plures valores continere potest (plures metatables habent).
  • Nova exsecutio functionis ad numeros pseudorandom generandos exhibetur - math.random.
  • Addidit systema admonitionum quae expressio utens definita est moneo et, dissimiliores errores, ulteriorem progressionis exsecutionem non afficiunt.
  • Adiectae sunt debugging informationes circa rationes functionis et valores reditus.
  • Nova semantica proposita est ad numeros integros in loramenta numerandos "quiaΒ». Numerus iterations ante fasciam incipit computatur, quae variabiles redundantiam et looping vitat. Si valor initialis maior est quam limitatio pretii, error ostenditur.
  • in munus'string.gmatch'Addidit novum argumentum libitum 'init', quod quonam loco investigationem incipiendum sit decernit (per default, ex charactere 1).
  • Novae lineamenta addidit "lua_resetthread' (filum retegit, totam vocationem ACERVUS purgat et omnes variabiles "in clauso" claudit et "coroutine.close(clausat coroutinum et omnes variabiles "conclusi".
  • Munera pro chordis ad numeros convertendis in bibliothecam "nervum" mota sunt.
  • Vocatus ad memoriam destinationis functionis nunc deficiet si magnitudo obstructionum memoria minuatur.
  • in munus'string.format'subsidia addita novae speciei speciei '%p' (montorem redditum ab lua_topointer).
  • In bibliotheca utf8 subsidium praebet character codes cum numeris usque ad 2^31.

Source: opennet.ru