Lua (programski jezik)

Lua je jednostavan, reflektivan, imperativni i funkcionalni programski jezik, dizajniran kao skript jezik sa proširivom semantikom kao primarnim ciljem. Samo ime jezika potiče od portugalske riječi lua što znači mjesec. Jezik je kreiran 1993. godine, a licenciran je pod MIT licencom (do verzije 5.0 korištena je BSD licenca).

Lua
Lua logo
Pojavio se1993

Lua posjeduje relativno jednostavan C API u poređenju sa ostalim skript jezicima. Lua i JavaScript imaju vrlo sličnu semantiku uprkos velikim razlikama u sintaksi. Po dizajnu, Lua je vrlo slična i programskom jeziku Icon. Ima široku primjenu u industriji video igara, ali i u nekim komercijalnim kao i nekomercijalnim aplikacijama.

Lua programi se ne interpretiraju direktno iz tekstualne Lua datoteke, već se kompajliraju na bajtkod koji se potom izvršava na Lua virtuelnoj mašini. Korištenjem minimalnog skupa tipova podataka, Lua pokušava da balansira između veličine i moći.

Primjer koda uredi

Klasični "Pozdrav svijete" program:

print("Pozdrav svijete!")


ili:

io.write("Pozdrav svijete!\n")


print() dodaje karakter za prelaz u novi red, za razliku od io.write() gdje se on mora dodati u samom kodu.

-- Komentar u Lui počinje sa duplom crticom i završava sa krajem linije.
--[[ Višelinijski stringovi i komentari
     se obeležavaju duplim uglastim zagradama.]]

Faktorijel je primjer rekurzivne funkcije:

function faktorijel(n)
  if n == 0 then
    return 1
  else
    return n * faktorijel(n - 1)
  end
end

Drugi oblik za funkciju faktorijela potiče od Luinog načina izračuna logičkog operatora, po kome Lua vraća vrijednost posljednjeg izračunatog operanda u izrazu:

function faktorijel2(n)             
  return n == 0 and 1 or n * faktorijel2(n - 1)
end

Također pogledajte uredi

Vanjski linkovi uredi