Fons apertum pro Luau, typus-reprehendo variantes linguae Luae

Pronuntiavit apertum fontem et evulgationem primae emissio linguae programmationis Luau, continuato evolutione linguae Luae et retro compatitur cum Lua 5.1. Luau principaliter ordinatur ad machinas scribendas in applicationes et proposita ad consummationem altam perficiendi et minoris subsidii consequendam. In codice exertus scriptum in C++ et sub MIT licentia apertum est.

Luau Luam extendit cum capabilitates specierum reprimendorum et aliquas novas syntacticas constructas sicut chordae literales. Lingua retrorsum est compatibilis cum Lua 5.1 et partim cum recentioribus versionibus. Lua Runtime API sustentatur, permittens te codice existente ac ligaturae uti Luau. Lingua runtime nititur in codice gravissime retractato Luae runtime 5.1, sed interpres omnino revocetur. Per progressionem novae technicae optimae artis adhibitae sunt ad altiorem observantiam Luae comparatam.

Consilium a Roblox evolutum est et in codice tribunalis ludi, lusus et applicationes usoris huius societatis, Roblox Studio editor incluso, adhibita est. Initio, Luau post fores clausas est evoluta, sed tandem placuit eam in categoriam incepta aperta transferre ad ulteriorem progressionem communem cum communitatis participatione.

Marisque:

  • Typing Graduale, occupans locum medium inter typing dynamicam et static. Luau te permittit ut typing statice utaris, prout opus est speciei informationis speciei per speciales annotationes. In typo aedificata "quaelibet", "nil", "boolean", "numerus", "chorda" et "fila" sunt. Eodem tempore facultas utendi typings dynamicas sine expresse definitivarum variabilium et functionum typus conservatur. function foo(x: numerus, y: filum): loci k boolean: linea = y: vio(x) return k == "a" finis
  • Firmamentum chordae literalis (ut in Lua 5.3), ut "\0x**" (numerus hexadecimalis), \u{**}" (character unicode) et "\z" (in fine lineae), sicut etiam. facultatem ad visualisandum numerum formattingum (scribere potes 1_000_000 pro 1000000), literae pro hexadecimali (0x...) et numeri binarii (0b .......).
  • Support pro expressionibus "pergere", complens keyword "confringere", ut salire ad novam ansam iterationem.
  • Firmamentum est pro com- posito assignatione operariorum (+=, -=, *=, /=, %=, ^=, ..=).
  • Firmamentum est usus condicionalis "si-then-aliud" caudices in forma locutionum quae reddunt valorem computatum in executione scandali. Numerum elseif locutionum in trunco ​​arbitrarium denotare potes. loci maxValue = si a > b erit aliud b loci signum = si x < 0 erit -1 elseif x > 0 erit 1 aliud 0
  • Praesentia solitudinis modus (sandbox), qui te permittit ut infida codicem persequaris. Haec factura ad launch latus iuxta proprium codicem ordinare potest et codicem ab alio philosopho scriptum, verbi gratia, tertia-partium bibliothecarum pro cuius salute praestari non potest.
  • Limitatio bibliothecae vexillum ex qua functiones quae potentialiter difficultates securitatis creare poterant remota sunt. Exempli gratia, bibliothecae "io" (accessus lima et processibus deducendis), "sarcina" (accessus lima et modulorum onerantium), "os" (munera pro accessu imaginum et mutabilium variabilium ambientium), "debug" (non tuta operatio cum memoria) "dofile" et "loadfile" (FS access).
  • Instrumenta analysi codicem static praebens, errores distinguens (interiora) et rectam typorum usum inhibens.
  • Summus perficientur parser, bytecode interpres et compilator. Luau nondum JIT compilationem sustinet, sed affirmatur Luau interpretem satis comparabilem in effectu cum LuaJIT in quibusdam adiunctis.

Source: opennet.ru