Lua — , , proqramlaşdırma dili olub qurulan sistemlərdə istifadə üçün dizayn edilmişdir. Lua, interpretatoru dilində yazıldığı üçün kross platformdur və nisbətən sadə C APİsinə malikdir.

Lua
Loqonun şəkli
Paradiqmalar Obyekt yönümlü proqramlaşdırma
Yaradılma tarixi 1993
Fayl sonluğu .lua, .luna, .lunaire və ya .anair
Sonuncu versiyası
  • 5.4.6
Təsirlənib C++, SNOBOL, Modula-2, Scheme
Əməliyyat sistemi kross-platforma
Vikianbarın loqosu 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ə 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, , , , ) cədvəl mexanizmi ilə, obyekt yönümlü mexanizmlər isə meta cədvəllər ilə reallaşdırılır.

Tarixi

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ə

#!/usr/bin/lua
print("Hello World!")

Dəyişən təyin etmək

#!/usr/bin/lua
a = "Hello World!"
print(a)

Faktorial

function factorial(n)
    local x = 1
    for i = 2,n do
        x = x * i
    end
    return x
end

Dövr operatorları

Luada 4 dövr operatoru var. While, Repeat, for, generik for.

While

local condition = true
while condition do
    --Statements
end

Repeat

local condition = false
repeat
    --Statements
until condition

until dən sonra verilmiş şərt(condition) true olana qədər dövr davam edir.

For

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

for key,value in pairs(_G) do
    print(key,value)
end

Funksiyalar

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

  • Figueiredo, L. H.; Celes, W.; Ierusalimschy, R., redaktorlar . 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. (2nd). Lua.org. 2006. ISBN 85-903798-2-5. (The 1st ed. is available .)
  • Jung, K.; Brown, A. . . 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. . . 2012. ISBN 0-262-01807-1. 2017-05-24 tarixində 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. . . 2012. ISBN 1-4302-4662-6.

İstinadlar

  1. Figueiredo L. H. Lua 5.4.6 now available] (ing.). 2023.
  2. .
  3. . 2019.
  4.  (ing.). [New York]: Association for Computing Machinery, 2018. ISSN ;
  5. .

Xarici keçidlər

Mənbə — ""

Informasiya Melumat Axtar

Anarim.Az

Sayt Rehberliyi ile Elaqe

Saytdan Istifade Qaydalari

Anarim.Az 2004-2023