Ero sivun ”Lua” versioiden välillä
Siirry navigaatioon
Siirry hakuun
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= | | suoritusmalli = tulkattava, käännettävä | ||
| vakaaversio=5.4 | | muistinhallinta = [[wikipedia:fi:Automaattinen_roskienkeräys|automaattinen]] | ||
| vakaapvm=[https://www.lua.org/versions.html#5.4 | | 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- | '''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"); | 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"); | 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]] |