- För andra betydelser, seLua (olika betydelser).
Lua |
 |
Paradigm | multi-paradigm:imperativ (procedurell,prototyp-baserad,objektorienterad),funktionell |
---|
Gavs ut | 1993 |
---|
Skapat av | Roberto Ierusalimschy, Waldemar Celes, Luiz Henrique de Figueiredo |
---|
Senaste version | 5.4.7 (2024-06-25) |
---|
Datatypsdisciplin | strong, duck, dynamic |
---|
Implementationer | Lua, LuaJIT, LLVM-Lua, Lua Alchemy |
---|
Dialekter | Metalua, Idle, GSL Shell |
---|
Influerat av | C++, CLU,Modula,Scheme, SNOBOL |
---|
Influerat | Io, GameMonkey, Squirrel, Falcon, MiniD, Julia |
---|
Plattform | multiplattform |
---|
Licens | MIT-licens |
---|
Webbplats | www.lua.org |
---|
| Den här artikeln eller det här avsnittetinnehåller inaktuella uppgifter och behöver uppdateras.(2020-06) Hjälp gärna Wikipedia att åtgärda problemet genom attredigera artikeln eller diskutera saken pådiskussionssidan. |
Lua är ett lättviktigt, reflektivt,procedurellt ochimperativtprogramspråk, designat som ettskriptspråk med utökningsbarsemantik som primärt mål.
Lua skapades 1993 avRoberto Ierusalimschy,Luiz Henrique de Figueiredo, ochWaldemar Celes, medlemmar i Computer Graphics Technology Group vidPontifícia Universidade Católica do Rio de Janeiro iRio de Janeiro.
Lua ärdynamiskt typat och kör program genom atttolkabytekod i enregisterbaseradvirtuell maskin. Det har automatisk minneshantering med stegvis (försvenskat uttryckinkrementell)skräpsamling.
Språket är särskilt väl anpassat för konfigurering ochskriptning. Det är snabbt i jämförelse med andra interpreterade skriptspråk och ganska litet. Det är också väldigt enkelt att lära sig och skriva enkla skript med, däremot inte lika passande för större skript.
Källkoden till version 5.2.2 består av ca 20 000 raderC-kod vilket motsvarar ca 180 kB iLinux. Det är gjort för att lätt kunna byggas in i olika applikationer.
Lua är i grunden inte ettobjektorienterat språk, men det tillhandahåller mekanismer för att implementera klasser och arv direkt i språket. Dess enda inbyggdadatastruktur ärtable som i grunden är enhashtabell. Denna kan även användas somfält,lista,mängd ochtupel.[1]
Det klassiska"Hello, World!"-programmet skrivs enligt följande:
Kommentarer skrivs enligt följande syntax, liknandeAda,Haskell,SQL ochVHDL:
-- A comment in Lua starts with a double-hyphen and runs to the end of the line.--[[ Multi-line strings & comments are adorned with double square brackets. ]]--[=[ Comments like this can have other --[[comments]] nested. ]=]
Fakultet-funktionen kan skrivas enligt följande:
functionfactorial(n)localx=1fori=2,ndox=x*iendreturnxend