Lua (limbaj de programare)

De la Wikipedia, enciclopedia liberă
Jump to navigation Jump to search
Lua
Lua-logo-nolabel.svg
Extensii fișiere.lua
Paradigmăimperativ, scripting, (procedural, prototype-based programare orientată pe obiecte), funcțională
Apărut în1993
Dezvoltat deRoberto Ierusalimschy
Waldemar Celes
Luiz Henrique de Figueiredo
Ultima versiune5.3.2/ 30 noiembrie 2015 (2015-11-30)
Tipul de tipăriredinamică, strong, duck
Implementări majoreLua, LuaJIT, LLVM-Lua, Lua Alchemy
DialecteMetalua, Idle, GSL Shell
Influențat deC++, CLU, Modula, Scheme, SNOBOL
InfluențeIo, GameMonkey, Squirrel, Falcon, MiniD
Sistem de operaremultiplatformă
LicențăLicență MIT
Websitewww.lua.org

Lua (pronunțat în engleză /luːə/, din portugheză lua /ˈlu.(w)ɐ/ înseamnă lună[1]) este un limbaj de programare multiparadigmă creat ca limbaj de scripting cu semantică extensibilă. Întrucât e scris în ANSI C, Lua este un limbaj multiplatformă.[2] Lua are un API C relativ simplu.[3]

Exemple de cod[modificare | modificare sursă]

Clasicul program „hello world” poate fi scris în modul următor:

print('Hello World!')

El mai poate fi scris astfel:

io.write('Hello World!\n')

sau, după exemplul oferit pe site-ul web Lua

io.write("Hello world, from ", _VERSION, "!\n")

Comentarea utilizează următoarea sintaxă, similară cu cea a limbajelor Ada, Eiffel, Haskell, SQL și VHDL:

-- Un comentariu în Lua începe cu două cratime și ține până la sfârșitul rândului.

--[[ Comentariile sau șirurile de caractere întinse pe mai multe rânduri
     sunt încadrate de paranteze pătrate duble. ]]

--[=[ Comentarii ca acesta pot avea alte --[[comentarii]] încorporate. ]=]

Factorialul este implementat ca funcție în exemplul de mai jos:

function factorial(n)
  local x = 1
  for i = 2,n do
    x = x * i
  end
  return x
end

Bucle[modificare | modificare sursă]

Lua are patru tipuri de bucle: while, repeat (similară cu do while), for numeric și for generic.

--condiție = true

while condiție do
  --enunțuri
end

repeat
  --enunțuri
until condiție

for i = first,last,delta do --delta poate fi negativ, permițând buclei să numere crescător sau descrescător
  print(i)
end

Bucla for generic:

for key, value in pairs(_G) do
  print(key, value)
end

va itera prin tabelul _G utilizând funcția iterator standard pairs, până va returna nil.

Referințe[modificare | modificare sursă]

  1. ^ „About Lua”. Lua.org. Accesat în . 
  2. ^ „About Lua”. Lua.org. Accesat în . 
  3. ^ Yuri Takhteyev (). „From Brazil to Wikipedia”. Foreign Affairs. Accesat în . 

Bibliografie[modificare | modificare sursă]

În engleză

Legături externe[modificare | modificare sursă]

Commons
Wikimedia Commons conține materiale multimedia legate de Lua