ଲୁଆ (ପ୍ରୋଗ୍ରାମିଂ ଭାଷା)

(Lua (programming language)ରୁ ଲେଉଟି ଆସିଛି)

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

Lua
ପାରାଡ଼ିଜିମ୍‌Multi-paradigm: scripting, imperative (procedural, prototype-based object-oriented), functional
ପ୍ରଥମେ ଦେଖାଯାଇଥିଲା1993; ପ୍ରକାଶନରେ ଅସୁବିଧା: ଅଜଣା ଚିହ୍ନ "୦" । ପ୍ରକାଶନରେ ଅସୁବିଧା: ଅଜଣା ଚିହ୍ନ "୦" । (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.

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

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

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

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