Lua (ծրագրավորման լեզու)
![]() | |
---|---|
Տեսակ | ծրագրավորման լեզու |
Կատարման ձև | բազմապարադիկմային,պրոցեդուրային, ֆունկիցոնալ, օբյեկտ կողմնորոշված |
Առաջացել է | 1993[1] |
Ստեղծող | Roberto Ierusalimschy?[2] |
Նախագծող | Roberto Ierusalimschy? |
Ընդլայնումներ | .lua [3][4], .luna , .lunaire և .anair |
ՕՀ | բազմապլատֆորմ[5] |
Համացանցի տվյալների տեսակ | text/x-lua |
Ներշնչվել է | C++, Կլու, Simple Object Language, DEL?, SNOBOL?, Modula?, Modula-2 և Scheme |
Ներշնչել է | Io, GameMonkey, Squirrel, Falcon, MiniD, Julia |
Արտոնագիր | MIT արտոնագիր[6][7] |
Անվանված է | Լուսին |
Կայք | lua.org(անգլ.)(պորտ.) |
Ելակոդ | github.com/lua/lua |
![]() |
Lua (պորտ.՝ «լուսին»), թեթև ծրագրավորման լեզու է նախագծված, որպես սկրիպտային լեզու ընդլայնելի իմաստաբանությամբ, որպես գլխավոր նպատակ։ Lua-ն քրոսպլատֆորմ է, քանի որ գրված է ANSI C-ով և համեմատաբար պարզ է C, API -ի նկատմամբ։
Հատկանիշներ
[խմբագրել | խմբագրել կոդը]Lua-ն հաճախ անվանում են մուլտիպարադիգմային լեզվով։ Այն ապահովում է հիմնական մեխանիզմների մի փոքր շարք։
Կոդի օրինակ
[խմբագրել | խմբագրել կոդը]Դասական Hello, World! ծրագիրը կարող է գրել է հետեւյալ կերպ.
print('Hello World!')
նաև
io.write('Hello World!\n')
կամ (the Lua website Արխիվացված 2016-03-04 Wayback Machine)
io.write("Hello world, from ",_VERSION,"!\n")
Մեկնաբանությւնների համար օգտագործում են հետևյալ սինտակսը։
-- Մեկնաբանությունները Lua-ում սկսվում է կրկնակի տողադարձով և շարունակվումմ է մինչև տողի վերջ։
--[[ Մեկից ավելի տողերը և մեկնաբանությունները
վերցնում են երկու քառակուսի փակագծեր։ ]]
Ֆակտորիալի ֆունկցիան իրականացվում է այս ֆունկցիայի օրինակով։
function factorial(n)
local x = 1.
for i = 2,n do
x = x * i
end
return x
end
Ցիկլեր
[խմբագրել | խմբագրել կոդը]Lua-ն ունի ցիկլի չորս տեսակ while ցիկլ,do while ցիկլ, for ցիկլ և ընդհանուր for ցիկլ։
--պայման = true
while պայման do
--հայտարարություններ
end
repeat
--հայտարարություններ
until պայման
for i = first,last,delta do --delta-ն կարող է լինել բացասական, for ցիկլը թույլ է տալիս հաշվել կամ հետհաշվարկել։
--հայտարարություններ
--օրինակ՝ print(i)
end
Ընդհանուր for ցիկլ։
for key, value in pairs(_G) do
print(key, value)
end
Ֆունկցիաներ
[խմբագրել | խմբագրել կոդը]Ֆունկցիաների հետ աշխատանքը, որպես առաջին կարգի օբյեկտներ ցույց է տրված հետևյալ օրինակում, որտեղ փոփոխվում է print ֆունկցիայի վարաքագիծը.
do
local oldprint = print
-- Պահպանում ենք տրված print ֆունկցիան իբրև oldprint
function print(s)
--[[ Վերասահմանում ենք print ֆունկցիան.]]
oldprint(s == "foo" and "bar" or s)
end
end
Աղյուսակներ
[խմբագրել | խմբագրել կոդը]Աղյուսակները տվյալների տեսակների ամենա կարևոր կաույցն են Lua-ում և հիմք են բոլոր օգտագործողների տվյալների տեսակում։ Lua-ում աղյուսակը իրենից ներկայացնում է զույգերի հավաքածու՝ բանալի։ Բանալին կարող է ստանալ ցանկացած արժեք բացի nil(չորոշված)-ից։
Աղյուսակները կառուցվում են հետևյալ {}
սինտաքսով։
a_table = {} -- Ստեղծում է նոր, դատարկ աղյուսակ
a_table = {x = 10} -- Ստեղծում է աղյուսակ մեկ մուտքագրումով "x" վերագրելով 10
print(a_table["x"]) -- Տպում է ստեղնի հետ կապված արժեքը, այս դեպքում 10
b_table = a_table
b_table["x"] = 20 -- Այս աղյուսակում նրա արժեքը փոխվեց 20-ի.
print(b_table["x"]) -- Տպում է 20
print(a_table["x"]) -- Նույնպես տպում է 20, որովհոտև a_table և b_table դիմում են նույն աղյուսակին
Որպես գրառում
[խմբագրել | խմբագրել կոդը]Աղյուսակները հաճախ օգտագործում են, որպես գրառում՝ օգտագործելով նշանների հաջորդականություն, որպես բանալի։ Օրինակ՝
point = { x = 10, y = 20 } -- Ստեղծում է նոր աղյուսակ
print(point["x"]) -- Տպում է 10
print(point.x) -- Ունի նույն իմաստը, ինչը վերևի տողում է
Որպես անվանատարածք
[խմբագրել | խմբագրել կոդը]Օգտագործելով աղյուսակը՝ պահելու առնչվող ֆունկցիաները այն կարող է հանդես գալ, որպես անվանատարածք։
Point = {}
Point.new = function(x, y)
return {x = x, y = y} -- վերադարձնում է {["x"] = x, ["y"] = y}
end
Point.set_x = function(point, x)
point.x = x -- point["x"] = x;
end
Ծանոթագրություններ
[խմբագրել | խմբագրել կոդը]- ↑ Lua: about
- ↑ https://www.lua.org/authors.html
- ↑ Lua 5.1 Reference Manual — 2019.
- ↑ A Look at the Design of Lua — [New York]: Association for Computing Machinery, 2018. — ISSN 0001-0782; 1557-7317
- ↑ https://www.lua.org/about.html
- ↑ https://www.lua.org/license.html
- ↑ The lua Open Source Project on Open Hub: Licenses Page — 2006.
Արտաքին հղումներ
[խմբագրել | խմբագրել կոդը]- Պաշտոնական կայք
- lua-users.org Արխիվացված 2010-12-16 Wayback Machine – Community website for and by users (and authors) of Lua
- eLua – Embedded Lua Արխիվացված 2011-07-23 Wayback Machine
- Projects in Lua Արխիվացված 2007-02-02 Wayback Machine
- SquiLu Squirrel modified with Lua libraries
|
![]() | Վիքիպահեստն ունի նյութեր, որոնք վերաբերում են «Lua (ծրագրավորման լեզու)» հոդվածին։ |
|