Sari la conținut

Lua (limbaj de programare)

De la Wikipedia, enciclopedia liberă
Lua
Lua
Extensii fișiere.lua
Paradigmăimperativ, scripting, (procedural, prototype-based programare orientată pe obiecte), funcțională
Apărut în1993
Proiectat deRoberto Ierusalimschy
Waldemar Celes
Luiz Henrique de Figueiredo
DezvoltatorRoberto Ierusalimschy[*][[Roberto Ierusalimschy (Brazilian computer scientist (born 1960))|​]][1]  Modificați la Wikidata
Ultima versiune5.3.2/  (2015-11-30)
Tiparedinamică, 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
Tip MIMEtext/x-lua  Modificați la Wikidata
Prezență onlinewww.lua.org

Lua (pronunțat în engleză /luːə/, din portugheză lua /ˈlu.(w)ɐ/ înseamnă lună[2]) 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ă.[3] Lua are un API C relativ simplu.[4]

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 Arhivat în , la Wayback Machine.

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

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.

  1. ^ https://www.lua.org/authors.html, accesat în   Lipsește sau este vid: |title= (ajutor)
  2. ^ „About Lua”. Lua.org. Accesat în . 
  3. ^ „About Lua”. Lua.org. Accesat în . 
  4. ^ Yuri Takhteyev (). „From Brazil to Wikipedia”. Foreign Affairs. Accesat în . 
În engleză

Legături externe

[modificare | modificare sursă]