Lua
- För andra betydelser, se Lua (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.3.4 (2017-01-30) |
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 avsnittet innehåller inaktuella uppgifter och behöver uppdateras. (2020-06)
Hjälp gärna Wikipedia att åtgärda problemet genom att redigera artikeln eller diskutera saken på diskussionssidan. |
Lua är ett lättviktigt, reflektivt, procedurellt och imperativt programspråk, designat som ett skriptspråk med utökningsbar semantik som primärt mål.
Historia
[redigera | redigera wikitext]Lua skapades 1993 av Roberto Ierusalimschy, Luiz Henrique de Figueiredo, och Waldemar Celes, medlemmar i Computer Graphics Technology Group vid Pontifícia Universidade Católica do Rio de Janeiro i Rio de Janeiro.
Utmärkande drag
[redigera | redigera wikitext]Lua är dynamiskt typat och kör program genom att tolka bytekod i en registerbaserad virtuell maskin. Det har automatisk minneshantering med stegvis (försvenskat uttryck inkrementell) skräpsamling.
Språket är särskilt väl anpassat för konfigurering och skriptning. 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 rader C-kod vilket motsvarar ca 180 kB i Linux. Det är gjort för att lätt kunna byggas in i olika applikationer.
Lua är i grunden inte ett objektorienterat språk, men det tillhandahåller mekanismer för att implementera klasser och arv direkt i språket. Dess enda inbyggda datastruktur är table som i grunden är en hashtabell. Denna kan även användas som fält, lista, mängd och tupel.[1]
Exempelkod
[redigera | redigera wikitext]Det klassiska "Hello, World!"-programmet skrivs enligt följande:
print('Hello, World!')
Kommentarer skrivs enligt följande syntax, liknande Ada, Haskell, SQL och VHDL:
-- 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:
function factorial(n)
local x = 1
for i = 2,n do
x = x * i
end
return x
end
Källor
[redigera | redigera wikitext]- ^ ”Lua: about”. http://www.lua.org/about.html. Läst 11 juli 2013.