Пређи на садржај

Vojna Enciklopedija:Lua

Iz Vojne Enciklopedije

Шаблон:Programski jezik-lat

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 reči lua što znači mesec. Jezik je kreiran 1993. godine, a licenciran je pod MIT licencom (do verzije 5.0 korišćena je BSD licenca).

Lua poseduje relativno jednostavan C (programski jezik)| API u poređenju sa ostalim skript jezicima. Lua i JavaScript imaju vrlo sličnu semantiku uprkost velikim razlikama u sintaksi. Po dizajnu, Lua je vrlo slična i programskom jeziku Icon. Ima široku primenu 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šćenjem minimalnog skupa tipova podataka, Lua pokušava da balansira između veličine i moći.

Primer koda

Klasični "Pozdrav svete" program:

print("Pozdrav svete!")


ili:

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


print() dodaje karakter za prelaz u novi red, za razliku od io.write() gde 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 primer 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 vrednost poslednje izračunatog operanda u izrazu:

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

Vidi još

Spoljašnje veze