ଲୁଆ (/ˈlə/ LOO, from Portuguese: lua [ˈlu.(w)ɐ] meaning moon; explicitly not "LUA"[୧]) ଏକ lightweight ପ୍ରୋଗ୍ରାମିଂ ଭାଷା ଅଟେ । ଏହା ANSI Cରେ ଲେଖା ହୋଇଥିବାରୁ ବିଭିନ୍ନ ପ୍ରକାରର କମ୍ପ୍ୟୁଟରରେ ଚାଲିପାରେ ଏଣୁ ଏହାକୁ Cross-platform ସ୍କ୍ରିପ୍ଟ ଭାଷା କୁହାଯାଇପାରେ । [୧] ଲୁଆର ଆପ୍ଲିକେସନ ପ୍ରୋଗ୍ରାମିଂ ଇଣ୍ଟରଫେସ ବା API ସି ଅପେକ୍ଷା ସରଳ ଅଟେ ।[୨]

Lua
Lua-Logo.svg
ପାରାଡ଼ିଜିମ୍‌Multi-paradigm: scripting, imperative (procedural, prototype-based object-oriented), functional
ପ୍ରଥମେ ଦେଖାଯାଇଥିଲା୧୯୯୩; ୨୭ ବର୍ଷ ଆଗରୁ (1993)
ଡିଜାଇନ କରିଥିଲେRoberto Ierusalimschy
Waldemar Celes
Luiz Henrique de Figueiredo
ସ୍ଥାୟୀ ରିଲିଜ5.2.3 (ଡିସେମ୍ବର 7, 2013 (2013-12-07))
ଟାଇପିଂ ପଦ୍ଧତିdynamic, strong, duck
ପ୍ରମୁଖ ବ୍ୟବହାରLua, LuaJIT, LLVM-Lua, Lua Alchemy
ଉପଭାଷାMetalua, Idle, GSL Shell
ଏହାକୁ ପ୍ରଭାବିତ କରିଛନ୍ତିC++, CLU, Modula, Scheme, SNOBOL
ଏହା ଦ୍ଵାରା ପ୍ରଭାବିତ ହୋଇଛନ୍ତିIo, GameMonkey, Squirrel, Falcon, MiniD
Implementation languageC
ଅପେରେଟିଂ ସିଷ୍ଟମCross-platform
ସତ୍ତ୍ଵMIT License
ୱେବସାଇଟwww.lua.org

ଇତିହାସସମ୍ପାଦନ କରନ୍ତୁ

ଫିଚରସମ୍ପାଦନ କରନ୍ତୁ

କିଛି କୋଡ ଉଦାହରଣସମ୍ପାଦନ କରନ୍ତୁ

ଏକ ପାରମ୍ପରିକ ହେଲୋ ୱାଲ୍ଡ ପ୍ରୋଗ୍ରାମ ନିମ୍ନୋକ୍ତ ପ୍ରକାରରେ ଲେଖା ଯାଇପାରିବ:

print('Hello World!')

ମନ୍ତବ୍ୟଗୁଡ଼ିକ ନିମ୍ନଲିଖିତ ସିଣ୍ଟାକ୍ସ ବ୍ୟବହାର କରନ୍ତି ଓ ସେସବୁ ଆଡ଼ା, ଇଫେଲ, ହାସକେଲ, SQL ଏବଂ VHDL ଆଦି ସହ ସମାନ:

-- A comment in Lua starts with a double-hyphen and runs to the end of the line.

--[[ Multi-line strings & comments
     are adorned with double square brackets. ]]

--[=[ Comments like this can have other --[[comments]] nested. ]=]

ଫାକ୍ଟୋରିଆଲ ଫଳନ ଏହି ଉଦାହରଣରେ ଥିବା ଗୋଟିଏ ଫଳନ ଭାବେ କାର୍ଯ୍ୟକାରୀ ହୋଇଛି:

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

ଲୁପ୍ସମ୍ପାଦନ କରନ୍ତୁ

ଲୁଆ ଚାରି ପ୍ରକାରର ଲୁପ ବ୍ୟବହାର କରିଥାଏ: ହ୍ୱାଇଲ ଲୁପ, ରିପିଟ ଲୁପ (ଏକ ଡୁ ହ୍ୱାଇଲ ଲୁପ ସହ ସମାନ), ଫର ଲୁପ, ଏବଂ ସାଧାରଣ ଫର ଲୁପ ।

--condition = true

while condition do
  --statements
end

repeat
  --statements
until condition

for i = first,last,delta do     --delta may be negative, allowing the for loop to count down or up
  print(i)
end

ସାଧାରଣ ଫର ଲୁପ:

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

ଏହା _G ସାଧାରଣ ଆଇଟିରେଟର ଫଙ୍କସନ pairs ବ୍ୟବହାର କରି ଟେବୁଲ ଉପରେ ପ୍ରକାଶ କରିବ (nil ମିଳିବା ଯାଏ) ।

ଫଙ୍କସନଗୁଡ଼ିକସମ୍ପାଦନ କରନ୍ତୁ

ଟେବୁଲସମ୍ପାଦନ କରନ୍ତୁ

ରେକର୍ଡ଼ ଭାବେସମ୍ପାଦନ କରନ୍ତୁ

ନେମସ୍ପେସ ଭାବେସମ୍ପାଦନ କରନ୍ତୁ

ଆରେ ଭାବେସମ୍ପାଦନ କରନ୍ତୁ

ମେଟାଟେବୁଲସମ୍ପାଦନ କରନ୍ତୁ

ଅବଜେକ୍ଟ-ଆଧାରିତ ପ୍ରୋଗ୍ରାମିଂସମ୍ପାଦନ କରନ୍ତୁ

ସି ଆପ୍ଲିକେସନ ପ୍ରୋଗ୍ରାମିଂ ଇଣ୍ଟରଫେସସମ୍ପାଦନ କରନ୍ତୁ

ଲୂଆ ଫଙ୍କ୍‌ସନ୍‌କୁ ସି ପ୍ରୋଗ୍ରାମିଂ ଭାଷା ବ୍ୟବହାର କରି କିପରି କଲ୍ କରିହେବ ତାହାର ଏକ ଛୋଟ ଉଦାହରଣ:

#include <stdio.h>
#include <stdlib.h>
#include <lua.h>
#include <lauxlib.h>

int main(void)
{
    lua_State *L = luaL_newstate();
    if (luaL_dostring(L, "function foo (x,y) return x+y end")) {
        lua_close(L);
        exit(EXIT_FAILURE);
    }

    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;
}

Running this example gives:

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

ବ୍ୟବହାରସମ୍ପାଦନ କରନ୍ତୁ

  • ଭିଡିଓ ଗେମ ପ୍ରସ୍ତୁତକାରୀମାନଙ୍କ ପାଇଁ ଏହା ବିପୁଳ ମାତ୍ରାରେ ଆଦୃତ ସ୍କ୍ରିପ୍ଟ ଭାଷା ଅଟେ ।

ଆହୁରି ଦେଖନ୍ତୁସମ୍ପାଦନ କରନ୍ତୁ

ଆଧାରସମ୍ପାଦନ କରନ୍ତୁ

  1. ୧.୦ ୧.୧ "About Lua". Lua.org. Retrieved 2013-06-19. ଆଧାର ଭୁଲ: Invalid <ref> tag; name "luaabout" defined multiple times with different content
  2. Yuri Takhteyev (April 21, 2013). "From Brazil to Wikipedia". Foreign Affairs. Retrieved April 25, 2013.

ଆହୁରି ପଢନ୍ତୁସମ୍ପାଦନ କରନ୍ତୁ

ବହିସମ୍ପାଦନ କରନ୍ତୁ

ପ୍ରବନ୍ଧସମ୍ପାଦନ କରନ୍ତୁ

ବାହାର ଲିଙ୍କସମ୍ପାଦନ କରନ୍ତୁ