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 | Obyekt yönümlü proqramlaşdırma |
Yaradılma tarixi | 1993[2] |
Fayl sonluğu |
.lua [3][4], .luna , .lunaire və ya .anair |
Sonuncu versiyası |
|
Təsirlənib | C++, SNOBOL, Modula-2, Scheme |
Əməliyyat sistemi | kross-platforma[5] |
lua.org | |
Vikianbarda əlaqəli mediafayllar |
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.
Tarixi
redaktə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ək
redaktə#!/usr/bin/lua
a = "Hello World!"
print(a)
Faktorial
redaktə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.
While
redaktəlocal condition = true
while condition do
--Statements
end
Repeat
redaktəlocal condition = false
repeat
--Statements
until condition
until dən sonra verilmiş şərt(condition) true olana qədər dövr davam edir.
For
redaktə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 for
redaktəfor key,value in pairs(_G) do
print(key,value)
end
Funksiyalar
redaktə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
Kitablar
redaktə- Figueiredo, L. H.; Celes, W.; Ierusalimschy, R., redaktorlar 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.
İstinadlar
redaktə- ↑ [ANN Lua 5.4.7 now available]. 2024.
- ↑ 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ər
redaktə- 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