Muokataan sivua Lua
Siirry navigaatioon
Siirry hakuun
Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.
Nykyinen versio | Oma tekstisi | ||
Rivi 1: | Rivi 1: | ||
{{Perustietoa}} | {{Perustietoa}} | ||
'''Lua''' on proseduaalinen ja olio-pohjainen scriptikieli, joka on suunniteltu ohjelmien toiminnallisuuden laajentamiseen. Kielellä voi muös tehdä omia itsenäisiä ohjelmia. Lua on totetutettu pienenä C-functiokirjastona. Tämän ansiosta se toimii useilla käyttöjärjestelmillä. Automaatisen muistinhallinnan ja pienten muistivaatimuksiensa ansiosta sitä voi myös käyttää sulautetuissa järjestelmissä. Aivan kuten [[Python]] Lua-kieli on tulkattava ja se tarvitsee tulkin eli virtuaalikoneen. Lua on suunniteltu yhdistettäväksi muihin ohjelmointikieliin. Luodut ohjelmat voi kääntää virtuaalikoneen binääreiksi, mutta yleisin käyttötapa on kääntää ohjelma Lua:n muistiin ja suorittaa se suoraan virtuaalikoneessa. Lua-kieltä on käytetty monissa ohjelmissa kuten [[VLC]]:ssä, Lightroomissa ja peleissä mm. World of Warcraftissa. | |||
'''Lua''' on proseduaalinen ja olio-pohjainen | |||
Esimerkki Linuxille sovitetusta Lua-virtuaalikoneesta [[C++]]-kielellä toteutettuna. Luodaan seuraavanlainen ohjelma. | Esimerkki Linuxille sovitetusta Lua-virtuaalikoneesta [[C++]]-kielellä toteutettuna. Luodaan seuraavanlainen ohjelma. | ||
< | <source lang="cpp"> | ||
extern "C" | extern "C" | ||
{ | { | ||
Rivi 65: | Rivi 44: | ||
bail(L, "lua_pcall() failed"); | bail(L, "lua_pcall() failed"); | ||
lua_getglobal(L, "tellme"); | lua_getglobal(L, "tellme"); /* Mikä funktio suoritetaan */ | ||
if (lua_pcall(L, 0, 0, 0)) | if (lua_pcall(L, 0, 0, 0)) /* Suoritetaan funktio */ | ||
bail(L, "lua_pcall() failed"); /* Virhe jos lua tiedostossa on virhe.*/ | bail(L, "lua_pcall() failed"); /* Virhe jos lua tiedostossa on virhe. */ | ||
lua_close(L); | lua_close(L); | ||
return 0; | return 0; | ||
} | } | ||
</ | </source> | ||
Skripti1.lua sisältö voisi olla esimerkiksi tällainen. | Skripti1.lua sisältö voisi olla esimerkiksi tällainen. | ||
< | <source lang="lua"> | ||
function tellme() | function tellme() | ||
io.write("Tämä tuloste luetaan Lua tellme-funktion kautta.\n") | io.write("Tämä tuloste luetaan Lua tellme-funktion kautta.\n") | ||
end | end | ||
</ | </source> | ||
Tiedosto <tt>ohjelma.cpp</tt> voidaan kääntää Linuxilla seuraavasti: | Tiedosto <tt>ohjelma.cpp</tt> voidaan kääntää Linuxilla seuraavasti: | ||
Rivi 89: | Rivi 68: | ||
==Aiheesta muualla== | ==Aiheesta muualla== | ||
* [http://www.lua.org/ Ohjelman kotisivu] | |||
* [http://yaamboo.com/suomipelit/artikkeli.php?id=52 Suomipelit - LUA:n alkeet] | * [http://yaamboo.com/suomipelit/artikkeli.php?id=52 Suomipelit - LUA:n alkeet] | ||
[[Luokka:Kehitystyökalut]] | [[Luokka:Kehitystyökalut]] |