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

ଲୁଆ (/ˈ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.
  2. Yuri Takhteyev (April 21, 2013). "From Brazil to Wikipedia". Foreign Affairs. Retrieved April 25, 2013.

ଆହୁରି ପଢନ୍ତୁ

ସମ୍ପାଦନା

ପ୍ରବନ୍ଧ

ସମ୍ପାଦନା

ବାହାର ଲିଙ୍କ

ସମ୍ପାଦନା