Ero sivun ”Lua” versioiden välillä

Siirry navigaatioon Siirry hakuun
502 merkkiä lisätty ,  24. maaliskuuta 2022
p
ei muokkausyhteenvetoa
p (Malline)
pEi muokkausyhteenvetoa
 
(5 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 1: Rivi 1:
{{Perustietoa}}
{{Perustietoa}}
{{Ohjelmointikieli
{{Ohjelmointikieli
| nimi=Lua
| nimi           = Lua
| paradigma=proseduaalinen, funktionaalinen, oliopohjainen
| logo            = [[Tiedosto:Lua-Logo.svg|150px]]
| tyypitys=heikko, dynaaminen
| paradigma       = proseduaalinen, funktionaalinen, oliopohjainen
| suoritusmalli=tulkattava
| tyypitys       = heikko, dynaaminen
| muistinhallinta=automaatinen
| suoritusmalli   = tulkattava, käännettävä
| vakaaversio=5.4
| muistinhallinta = [[wikipedia:fi:Automaattinen_roskienkeräys|automaattinen]]
| vakaapvm=[https://www.lua.org/versions.html#5.4 29. kesäkuuta 2020]
| tekijä          =
| kotisivu=[https://www.lua.org/ lua.org]
| kehittäjä      = Roberto Ierusalimschy, Waldemar Celes, Luiz Henrique de Figueiredo
| lähdekoodi=[https://www.lua.org/ftp/ lua.org/ftp/]
| 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-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 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.
Esimerkki Linuxille sovitetusta Lua-virtuaalikoneesta [[C++]]-kielellä toteutettuna. Luodaan seuraavanlainen ohjelma.
Rivi 54: Rivi 65:
  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);
Rivi 81: Rivi 92:


{{Pelinteko}}
{{Pelinteko}}
{{Ohjelmointikielet}}
[[Luokka:Kehitystyökalut]]
[[Luokka:Kehitystyökalut]]
10 147

muokkausta

Navigointivalikko