Muokataan sivua Lua

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

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}}
{{Ohjelmointikieli
| nimi            = Lua
| logo            = [[Tiedosto:Lua-Logo.svg|150px]]
| paradigma      = proseduaalinen, funktionaalinen, oliopohjainen
| tyypitys        = heikko, dynaaminen
| suoritusmalli  = tulkattava, käännettävä
| muistinhallinta = [[wikipedia:fi:Automaattinen_roskienkeräys|automaattinen]]
| tekijä          =
| kehittäjä      = Roberto Ierusalimschy, Waldemar Celes, Luiz Henrique de Figueiredo
| moottori        =
| ensijulkaisu    = 1993
| vakaaversio    = 5.4.4
| vakaapvm        = 26. tammikuuta 2022 [https://www.lua.org/versions.html#5.4]
| kehitysversio  =
| kehityspvm      =
| ohjelmoitu      =
| käyttöliittymä  =
| tyyppi          = ohjelmointikieli, kehitystyökalut
| lisenssi        = [[MIT]]
| kotisivu        = [https://www.lua.org/ lua.org]
| lähdekoodi      = [https://www.lua.org/ftp/ lua.org/ftp/]
}}
'''Lua''' on proseduaalinen ja olio-pohjainen skriptikieli, joka on suunniteltu ohjelmien toiminnallisuuden laajentamiseen. Kielellä voi myös tehdä omia itsenäisiä ohjelmia. Lua on totetutettu pienenä [[C]]-funktiokirjastona. 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.


Esimerkki Linuxille sovitetusta Lua-virtuaalikoneesta [[C++]]-kielellä toteutettuna. Luodaan seuraavanlainen ohjelma.
'''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.
<syntaxhighlight lang="c">
 
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");       /* Mikä funktio suoritetaan*/
lua_getglobal(L, "tellme");                 /* Mikä funktio suoritetaan */


     if (lua_pcall(L, 0, 0, 0))   /* Suoritetaan funktio*/
     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;
}
}
</syntaxhighlight>
</source>


Skripti1.lua sisältö voisi olla esimerkiksi tällainen.
Skripti1.lua sisältö voisi olla esimerkiksi tällainen.
<syntaxhighlight lang="lua">
<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
</syntaxhighlight>
</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]


{{Pelinteko}}
{{Ohjelmointikielet}}
[[Luokka:Kehitystyökalut]]
[[Luokka:Kehitystyökalut]]
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)
Noudettu kohteesta ”https://www.linux.fi/wiki/Lua