ലൂഅ (പ്രോഗ്രാമിംഗ് ഭാഷ)

വിക്കിപീഡിയ, ഒരു സ്വതന്ത്ര വിജ്ഞാനകോശം.
ലൂഅ
Lua-logo-nolabel.svg
ശൈലി: ബഹുമാതൃക: സ്ക്രിപ്റ്റിംഗ്, ഇംപെരേറ്റീവ് (പ്രൊസീജ്വറൽ, പ്രോട്ടോടൈപ് അടിസ്ഥാനം വസ്തുതാധിഷ്ഠിതം), ഫംഗ്ഷണൽ
പുറത്തുവന്ന വർഷം: 1993
രൂപകൽപ്പന ചെയ്തത്: റോബെർട്ടോ ലെറുസാലിംഷി
വാൾഡെമെർ സെലെസ്
ലൂയിസ് ഹെൻറിസ് ഡി ഫിഗറിഡോ
ഏറ്റവും പുതിയ പതിപ്പ്: 5.2.2/ മാർച്ച് 27, 2013 (2013-03-27)
ഡാറ്റാടൈപ്പ് ചിട്ട: ഡൈനാമിക്, ശക്തം, ഡക്ക്
പ്രധാന രൂപങ്ങൾ: ലൂഅജിറ്റ്, എൽഎൽവിഎം-ലൂഅ, ലൂഅ ആൽക്കെമി
വകഭേദങ്ങൾ: മെറ്റാലൂഅ, ഐഡിൽ, ജിഎസ്എൽ ഷെൽ
സ്വാധീനിക്കപ്പെട്ടത്: സി++, ക്ലു, മൊഡ്യൂള, സ്കീം, സ്നോബോൾ
സ്വാധീനിച്ചത്: ലോ, ഗെയിംമങ്കീ, സ്ക്വിറൽ, ഫാൽകൺ, മിനിഡി
ഓപറേറ്റിങ്ങ് സിസ്റ്റം: ക്രോസ് പ്ലാറ്റ്ഫോം
അനുവാദപത്രം: എംഐടി അനുമതിപത്രം
വെബ് വിലാസം: ലൂഅ.ഓർഗ്

ലഘുവായ ഒരു ബഹുമാതൃകാ പ്രോഗ്രാമിംഗ് ഭാഷയാണ് ലൂഅ (Portuguese: lua - അർത്ഥം: ചന്ദ്രൻ.[1]). വിപുലീകരിക്കാവുന്ന അർത്ഥ വിജ്ഞാനീയത്തോടു കൂടിയ ഒരു സ്ക്രിപ്റ്റിംഗ് ഭാഷ ലഭ്യമാക്കുക എന്നതായിരുന്നു ലൂഅയുടെ പ്രധാന ലക്ഷ്യം. ആൻസി സിയിൽ തയ്യാറാക്കപ്പെട്ടതിനാൽ ലൂഅ ഒരു ക്രോസ് പ്ലാറ്റ്ഫോം ഭാഷയാണ്.[1] പൊതുവെ ലളിതമായ സി എപിഐ ഉപയോഗിക്കുന്നതിനാൽ ലൂഅ ഉപകാരപ്രദമായ സോഫ്റ്റ്വെയറുകൾ രചിക്കാനുള്ള ലളിതമായ മാർഗ്ഗമൊരുക്കുന്നു.[2]

ഉദാഹരണങ്ങൾ[തിരുത്തുക]

ലളിതമായവ[തിരുത്തുക]

ലൂഅയിൽ ഹലോ വേൾഡ് പ്രോഗ്രാം ഇത്തരത്തിൽ തയ്യാറാക്കാം.[3]

print 'Hello World!'

കമന്റുകൾ ചേർക്കുന്നത് അഡ, ഈഫൽ, എസ്ക്യുഎൽ, ഹാസ്കെൽ, വിഎച്ച്ഡിഎൽ ഭാഷകളിലേതിനു സമാനമായാണ്.[3]:6

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

ലൂപ്പുകൾ[തിരുത്തുക]

ലൂഅയിൽ നാലു ലൂപ്പുകളുണ്ട്. വൈൽ ലൂപ്പ്, ഫോർ ലൂപ്പ്, റിപ്പീറ്റ് ലൂപ്പ് (ഡു വൈലിന് സമാനം), ജെനറിക് ഫോർ ലൂപ്പ് എന്നിവയാണവ.

വൈൽ ലൂപ്പ് ഇത്തരത്തിലാണ് ഉപയോഗിക്കുന്നത്:

local condition = true
while condition do
    --Statements
end

ഫോർ ലൂപ്പ് ഇത്തരത്തിലാണുപയോഗിക്കുന്നത്:

for index = 1,5 do
    print(index)
end

റിപ്പീറ്റ് ലൂപിന്റെ ഉപയോഗം ഇങ്ങനെയാണ്:

local condition = false
repeat
    --Statements
until condition

ജെനറിക് ഫോർ ലൂപ് ഇതു പോലെ ഉപയോഗിക്കാം:

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

ഒബ്ജെക്റ്റുകൾ[തിരുത്തുക]

ഒരു സദിശ വസ്തുവിനെ ഇപ്രകാരം നിർമ്മിക്കാം.

Vector = {}                   -- Create a table to hold the class methods
function Vector:new(x, y, z)  -- The constructor
  local object = { x = x, y = y, z = z }
  setmetatable(object, { __index = Vector })  -- Inheritance
  return object
end
function Vector:magnitude()   -- Another member function
  -- Reference the implicit object using self
  return math.sqrt(self.x^2 + self.y^2 + self.z^2)
end

vec = Vector:new(0, 1, 0)     -- Create a vector
print(vec:magnitude())        -- Call a member function using ":" (output: 1)
print(vec.x)                  -- Access a member variable using "." (output: 0)

അവലംബം[തിരുത്തുക]

  1. 1.0 1.1 "About Lua". Lua.org. ശേഖരിച്ചത് 2013-06-19.  ഉദ്ധരിച്ചതിൽ പിഴവ്: അസാധുവായ <ref> ടാഗ്; "luaabout" എന്ന പേര് വ്യത്യസ്തമായ ഉള്ളടക്കത്തോടെ നിരവധി തവണ നിർവ്വചിച്ചിരിക്കുന്നു
  2. Yuri Takhteyev (April 21, 2013). "From Brazil to Wikipedia". Foreign Affairs. ശേഖരിച്ചത് April 25, 2013. 
  3. 3.0 3.1 Ierusalimschy, Roberto (2003). Programming in Lua, 1st ed. PUC-Rio, Brazil: lua.org. p. 3. ഐ.എസ്.ബി.എൻ. 9788590379829. 

പുറം കണ്ണികൾ[തിരുത്തുക]

"https://ml.wikipedia.org/w/index.php?title=ലൂഅ_(പ്രോഗ്രാമിംഗ്_ഭാഷ)&oldid=1808096" എന്ന താളിൽനിന്നു ശേഖരിച്ചത്