Lua
Lua — yüngül, multi paradiqmalı, proqramlaşdırma dili olub qurulan sistemlərdə istifadə üçün dizayn edilmişdir. Lua, interpretatoru ANSI C dilində yazıldığı üçün kross platformdur və nisbətən sadə C APİsinə malikdir.
Lua | |
---|---|
![]() | |
Paradiqmalar | skriptləşdirmə dili, interpretasiya olunan dil, Azad proqram təminatı |
Yaradılma tarixi | 1993[3] |
Fayl sonluğu |
.lua [4][5], .luna , .lunaire və ya .anair |
Sonuncu versiyası | |
Təsirlənib | C++, SNOBOL, Modula-2, Scheme |
Əməliyyat sistemi | kross-platforma[6] |
lua.org | |
![]() |
Lua ilkin olaraq 1993-cü ildə həmin dövrün artan proqram nizamlama tələbini qarşılamaq üçün tətbiqi proqramları genişləndirən dil kimi dizayn edilmişdi.
İdeologiya və tətbiqinə görə Lua JavaScript-ə daha yaxın olsa və prototipli OOP modelini tətbiq etsə də, Paskala-bənzər sintaksisi, daha güclü və çevik konstruksiyaları ilə fərqlənir. Luanın xarakterik xüsusiyyəti minimum sintaksis ilə çox sayda proqram obyektini tətbiq edə bilməsidir. Belə ki, bütün əsas istifadəçi məlumat növləri (massivlər,strukturlar,çoxluqlar,sıralar,siyahılar) cədvəl mexanizmi ilə, obyekt yönümlü mexanizmlər isə meta cədvəllər ilə reallaşdırılır.
TarixiRedaktə
Dil 1993-cü ildə Braziliyada Rio-de-Janeyro Katolik Universitetində Kompüter Qrafikası Texnologiyası Qrupu (Tecgraf) üzvləri olan Robertu İerusalimşi, Luiz Enrike de Fiqueiredo və Valdemar Celes tərəfindən yaradılmışdır.
NümunəRedaktə
#!/usr/bin/lua
print("Hello World!")
Dəyişən təyin etməkRedaktə
#!/usr/bin/lua
a = "Hello World!"
print(a)
FaktorialRedaktə
function factorial(n)
local x = 1
for i = 2,n do
x = x * i
end
return x
end
Dövr operatorlarıRedaktə
Luada 4 dövr operatoru var. While, Repeat, for, generik for.
WhileRedaktə
local condition = true
while condition do
--Statements
end
RepeatRedaktə
local condition = false
repeat
--Statements
until condition
until dən sonra verilmiş şərt(condition) true olana qədər dövr davam edir.
ForRedaktə
for index = 1,5 do
print(index)
end
dövr 5 dəfə icra olunur və hər dəfə 1-dən 5-ə qədər rəqəmlər ekrana verilir.
Generik forRedaktə
for key,value in pairs(_G) do
print(key,value)
end
FunksiyalarRedaktə
do
local oldprint = print -- Store current print function as oldprint
function print(s) -- Redefine print function, the usual print function can still be used
if s == "foo" then
oldprint("bar")
else
oldprint(s)
end
end
end
- C dilindən Lua funsiyasının çağrılması
#include <stdio.h>
#include <stdlib.h>
#include <lua.h>
#include <lauxlib.h>
int main()
{
lua_State *L = luaL_newstate();
if (luaL_dostring(L, "function foo (x,y) return x+y end")) exit(1);
lua_getglobal(L, "foo");
lua_pushinteger(L, 5);
lua_pushinteger(L, 3);
lua_call(L, 2, 1);
printf("Result: %d\n", lua_tointeger(L, -1));
lua_close(L);
return 0;
}
yuxarıdakı nümunənin nəticəsi
$ gcc -o example example.c -llua $ ./example Result: 8
KitablarRedaktə
- Figueiredo, L. H.; Celes, W.; Ierusalimschy, R., eds.Lua Programming Gems. Lua.org. 2008. ISBN 978-85-903798-4-3.
- Gutschmidt, T. Game Programming with Python, Lua, and Ruby. Course Technology PTR. 2003. ISBN 1-59200-077-0.
- Ierusalimschy, R. Programming in Lua (2nd). Lua.org. 2006. ISBN 85-903798-2-5. (The 1st ed. is available online.)
- Jung, K.; Brown, A. Beginning Lua Programming. Wrox Press. 2007. ISBN 0-470-06917-1.
- Schuytema, P.; Manyen, M. Game Development with Lua. Charles River Media. 2005. ISBN 1-58450-404-8.
- Takhteyev, Yuri. Coding Places: Software Practice in a South American City. The MIT Press. 2012. ISBN 0-262-01807-1. 2017-05-24 tarixində orijinalından arxivləşdirilib. İstifadə tarixi: 2013-09-05. Chapters 6 and 7 are dedicated to Lua, while others look at software in Brazil more broadly.
- Varma, Jayant. Learn Lua for iOS Game Development. Apress. 2012. ISBN 1-4302-4662-6.
İstinadlarRedaktə
- ↑ Lua 5.4.4 now available (ing.). 2022.
- ↑ https://github.com/lua/lua/releases/tag/v5.4.4. 2022.
- ↑ Lua: about.
- ↑ Lua 5.1 Reference Manual. 2019.
- ↑ A Look at the Design of Lua (ing.). [New York]: Association for Computing Machinery, 2018. ISSN 0001-0782; 1557-7317
- ↑ https://www.lua.org/about.html.
Xarici keçidlərRedaktə
- Rəsmi saytı
- lua-users.org
- Luada Proqramlar Arxivləşdirilib 2007-02-02 at the Wayback Machine
- Lua əməliyyat sistemi layihəsi Arxivləşdirilib 2013-08-16 at the Wayback Machine