Lua (programmeringssprog)

Fra Wikipedia, den frie encyklopædi
Denne artikel er om selve programmeringssproget Lua. Se Wikipedia:Lua for brugen af Lua på Wikipedia.
For alternative betydninger, se Lua. (Se også artikler, som begynder med Lua)

Lua (portugisisk for "måne") er et scriptprogrammeringssprog til integrering i programmer, med det formål at gøre det nemmere at videreudvikle dem. En af sprogets særlige egenskaber er scriptfortolkerens ringe størrelse.

Lua blev udviklet i 1993 af Roberto Ierusalimschy, Luiz Henrique de Figueiredo og Waldemar Celes fra Computer Graphics Technology Group ved Pontifícia Universidade Católica do Rio de Janeiro, et katolsk universitet i Rio de Janeiro, Brasilien. Lua er fri software og blev indtil version 5 udgivet under en BSD-licens, og fra version 5 under MIT-licensen.

Sproget anvendes ofte i computerspil. I kommercielle spil anvendes Lua eksempelvis i Heroes of Newerth, Heroes of Might and Magic V, Monkey Island 4, Spellforce, Far Cry, World of Warcraft, Microsoft Freelancer, Half-Life 2, Garry's Mod, The Settlers V, Parkan 2, Star Wars: Battlefront II og Company of Heroes, mens det fri software anvendes i eksempelvis Angband 3 (og varianterne ZAngband og ToME).

Programmer skrevet i Lua bliver før udførelsen oversat til byte-code. Selvom man kan skrive selvstændige programmer i Lua, er det primært tænkt som et scriptsprog til C-programmer, i denne forbindelse sammenligneligt med Tcl.

Lua-fortolkeren kan kaldes gennem et C-bibliotek, der også indeholder et API til kald af fortolkeren fra C-programmer på kørselstidspunktet. Gennem API'et kan forskellige dele af programmet skrives i C eller Lua, mens variabler og funktioner er tilgængelige i begge retninger (dvs. en funktion i Lua kan kalde en funktion i C, og omvendt).

Implementeringen af Lua er i ANSI-C, og der understøttes funktions- såvel som objektionsorienteret programmering.

Typiske koder[redigér | rediger kildetekst]

Her er nogle eksempler på nogle "scripts" skrevet i Lua.

Hello World:

 print("Hello World!")

event

RegisterUnitEvent(ID, 1, "Navn_Effekt")

Litteratur (engelsk)[redigér | rediger kildetekst]

  • Ierusalimschy, Roberto (2006), Programming in Lua (2. udgave), Lua.org, ISBN 85-903798-2-5 (Første udgave er tilgængelig online)
  • Ierusalimschy, Roberto; Figueiredo, L. H.; Celes, W. (2006), Lua 5.1 Reference Manual, Lua.org, ISBN 85-903798-3-3
  • Schuytema, P.; Manyen, M. (2005), Game Development with Lua, Charles River Media, ISBN 1-58450-404-8

Ekstern henvisning[redigér | rediger kildetekst]