Movatterモバイル変換


[0]ホーム

URL:


Siirry sisältöön
Wikipedia
Haku

Lua

Wikipediasta
Lua
Paradigmaproseduraalinen,funktionaalinen,olio-ohjelmointi
Tyypitysheikko, dynaaminen
Muistinhallintaautomaattinen
Julkaistu1993
KehittäjäRoberto Ierusalimschy,Waldemar Celes,Luiz Henrique de Figueiredo
Vakaa versio5.4.7[1] ()
Käyttöjärjestelmäalustariippumaton
Verkkosivuwww.lua.org
LisenssiMIT
Infobox OK

Lua on kevyt ja kooltaan pieniskriptikieli. Se on tarkoitettu lähinnä ohjelmien helppoon laajentamiseen, mutta sillä voi myös tehdä laajempiakin kokonaisuuksia. Kielen nimi tuleeportugalin sanastalua, joka tarkoittaa kuuta. Luan logona onkin kuu.

Lua on pääasiassaproseduraalinen kieli, mutta Lua tukee funktionaalisesta ohjelmoinnista ja olio-ohjelmoinnista tunnettuja ominaisuuksia. Luassa on muun muassa ensimmäisen kertaluokan funktiot täydellä leksikaalisella näkyvyydellä. Muita kielen ominaisuuksia ovat assosiatiiviset taulukot, vuoroittaisrutiinit sekä metataulut. Kielessä on mahdollista käyttäämoniperintää.[2]

Lua on julkaistuMIT-lisenssillä, joka sallii hyvin vapaan käytön jopa kaupallisiin tarkoituksiin. Luaa käytetäänkin paljon erilaisissa sovellusohjelmissa (esim.VLC,Lightroom) ja tietokonepelien sisäisenä skriptikielenä (esim.World of Warcraft).[3] Neovim-tekstieditori mahdollistaa lisäosien ja konfiguraation kirjoittamisenVimscriptin lisäksi Lualla.[4]

Lua on suunniteltu helposti yhdistettäväksi muihin ohjelmointikieliin. Alkuperäisessä toteutuksessa on rajapinta, jota voi käyttääC- jaC++-ohjelmointikielillä. Tämän lisäksi rajapintoja löytyy muun muassaPascalille,.NET:lle sekäAdalle.

Historia

[muokkaa |muokkaa wikitekstiä]

Kielen edeltäjiä ovatPetrobrasin kehittämät DEL (Data Entry Language) ja SOL (Simple Object Language).[5]

Toteutus

[muokkaa |muokkaa wikitekstiä]

Lua käännetään omalle virtuaalikoneelle. Ohjelmat voi kääntää virtuaalikoneen binääreiksi, mutta yleisempi käyttötapa on, että Lua-kääntäjä kääntää ohjelman muistiin ja suorittaa sen suoraan virtuaalikoneessa. Luan virtuaalikone on rekisteripohjainen erona pinopohjaisista virtuaalikoneista. Rekisteripohjainen virtuaalikone julkaistiin Lua-versiossa 5.0 vuonna 2003.[6]

Kielessä ei ole C-kielen kaltaistaswitch-lausetta, mutta vastaava toiminnallisuus voidaan toteuttaa käyttämällähakutaulua (lookup-taulua) apuna.[7]

Lua tukeesäännöllisiä lausekkeita, mutta eiPOSIX-standardin mukaisessa muodossa vaan merkittävästi yksinkertaisempana.[8]

Esimerkkejä

[muokkaa |muokkaa wikitekstiä]

Esimerkkiohjelma tulostaa rivin "Hei maailma!":

print("Hei maailma!")

Seuraava ohjelma laskee annetun luvun kertoman:

-- Kertoma-funktiofunctionfact(n)ifn==0thenreturn1elsereturnn*fact(n-1)endendprint("Anna luku:")a=io.read("*number")-- Lue lukuprint(fact(a))

Kommentti alkaa kahdella viivalla, useammalle riville ulottuva kommentti merkitään hakasulkeisiin.

-- Tämä on yksirivinen kommenttiprint("Hei maailma!")--[[ Tämä on kommentti, joka kattaa useamman rivin]]print("Hei maailma!")

Lähteet

[muokkaa |muokkaa wikitekstiä]
  1. [ANN] Lua 5.4.7 now available,(viitattu). Tieto on haettuWikidatasta.
  2. 16.3 – Multiple Inheritance lua.org. Viitattu 14.9.2017.
  3. Lua: about lua.org. Viitattu 9.11.2012.
  4. Home - Neovim neovim.io. Viitattu 6.6.2024.
  5. The evolution of an extension language: a history of Lua lua.org. Viitattu 11.3.2020. (englanniksi)
  6. Roberto Ierusalimschy & Luiz Henrique de Figueiredo & Waldemar Celes: The Implementation of Lua 5.0 (PDF) lua.org. Viitattu 4.12.2024. (englanniksi)
  7. Switch Statement lua-users.org. Viitattu 8.8.2019. (englanniksi) 
  8. 20.1 – Pattern-Matching Functions lua.org. Viitattu 23.12.2024. (englanniksi)

Aiheesta muualla

[muokkaa |muokkaa wikitekstiä]
Wikimedia Commonsissa on kuvia tai muita tiedostoja aiheestaLua.
Tuotantokäytössä
Akateemiset
Historialliset
Noudettu kohteesta ”https://fi.wikipedia.org/w/index.php?title=Lua&oldid=22912119
Luokat:
Piilotettu luokka:

[8]ページ先頭

©2009-2025 Movatter.jp