Lua (limbaj de programare)
Format:Infocaseta Limbaj de programare
Lua (Format:IPA-en, din Format:Lang-pt Format:IPA-pt î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
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 Format:Webarchive
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
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
Bibliografie
- În engleză
- Format:Cite web
- Format:Cite web
- Format:Cite web
- Format:Cite journal
- Format:Cite news Interview with Roberto Ierusalimschy.
- Format:Cite journal How the embeddability of Lua impacted its design.
- Lua papers and theses
Legături externe
Format:Wikibooks Format:MediaWiki
- Format:Commons category-inline
- Format:Official website
- lua-users.org Format:Webarchive – Community website for and by users (and authors) of Lua
- eLua – Embedded Lua
- Projecte în Lua
- SquiLu Squirrel modified with Lua libraries