LUA — yew programê zıwanê kodanê akerdeyano çımeyıno. Serra 1993yıne de Roberto Ierusalimschy, Luiz Henrique de Figueiredo û Waldemar Celes no program vıraşto.

LUA
Lua
Paradigma: Hetenayışê obceyi, fonksiyonal
Vıraziyayış: 1993
Nustoği: Roberto Ierusalimschy, Luiz Henrique de Figueiredo û Waldemar Celes
İlhamgırewtış: C++,Modula,CLU,Scheme,Snobol
İlhamkerdış: Io,GameMonkey,falcon,squirrel,MiniD
Lisanskerdış: MIT License
Web sitay cı: http://www.lua.org/

Zıwanê programkerdışi de nımuneyi

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

Vurnayışê ilankerdışi

bıvurne
#!/usr/bin/lua
a = "Hello World!"
print(a)
function factorial(n)
    local x = 1
    for i = 2,n do
        x = x * i
    end
    return x
end

Operatorê dewri

bıvurne

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

Dema ke

bıvurne
local condition = true
while condition do
    --Statements
end
local condition = false
repeat
    --Statements
until condition

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

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

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

Funksiyoni

bıvurne
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
  • Zıwanê Cyi de vengdayışê fonksiyonê Lua
#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;
}

Neticeyê cori

$ gcc -o example example.c -llua
$ ./example
Result: 8

Teber de

bıvurne