ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Lua – Wikipedia

Lua

Wikipedia

Paradigma proseduraalinen, funktionaalinen, olio-ohjelmointi
Tyypitys vahva, dynaaminen
Yleinen suoritusmalli -
Muistinhallinta automaattinen
Julkaistu 1993
Kehittäjä [[Roberto Ierusalimschy, Waldemar Celes, Luiz Henrique de Figueiredo]]
Viimeisin vakaa versio 5.1.3
Viimeisin julkaisupäivä 25.1.2008
Viimeisin kehitysversio -
Merkittävimmät toteutukset -
Vaikutteet -
Vaikuttanut -
Murteet -
Käyttöjärjestelmä
WWW-sivut http://www.lua.org
Uutisryhmä -

(muokkaa)

Lua on kevyt ja kooltaan pieni skriptikieli. Se on tarkoitettu lähinnä ohjelmien helppoon laajentamiseen, mutta sillä voi myös tehdä laajempiakin kokonaisuuksia. Lua sana tulee portugalista, ja tarkoittaa kuuta, Luan logona onkin kuu.

Lua on pääasiassa proseduraalinen 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.

Lua on julkaistu MIT-lisenssin alla, joka sallii hyvin vapaan käytön jopa kaupallisiin tarkoituksiin. Luaa käytetäänkin paljon tietokonepelien ohjelmoinnissa.

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

[muokkaa] Toteutus

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.

[muokkaa] Esimerkkejä

Esimerkkiohjelma tulostaa rivin "Hei maailma!":

print("Hei maailma!")

Seuraava ohjelma laskee annetun luvun kertoman:

-- Kertoma-funktio
function fact (n)
  if n == 0 then
    return 1
  else
    return n * fact(n-1)
  end
end
 
print("Anna luku:")
a = io.read("*number")   -- Lue luku
print(fact(a))

[muokkaa] Aiheesta muualla

Yleisimmät ohjelmointikielet (kaikki)

Tuotantokäytössä: Ada | APL | AWK | Assembly | C | C++ | C# | COBOL | Delphi | Eiffel | Fortran | Java | JavaScript | Lua | Lisp | Objective-C | Pascal | Perl | PHP | PostScript | Python | Ruby | Smalltalk | TCL | Visual Basic

Akateemiset: CLU | Haskell | Logo | ML | OCAML | Prolog | Scheme

Historialliset: ALGOL | BASIC | Modula-3 | MUMPS | Plankalkül | PL/I | Simula


Tämä ohjelmointia käsittelevä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -