Lua (forritunarmál)
From Wikipedia, the free encyclopedia
Remove ads
Lua er forritunarmál sem búið var til árið 1993 af Roberto Ierusalimschy, Luiz Henrique de Figueiredo og Waldemar Celes en þeir voru félagar í tölvutæknihópinum Tecgraf við Pontifical Catholic University í Rio de Janeiro í Brasilíu. Ár árunum 1977 til 1992 voru miklar takmarkanir á innflutningi vélbúnaðar og hugbúnaðar til Brasilíu og viðskiptavinir Tecgraf gátu ekki keypt innfluttan búnað og það varð til þess að Tecgraf hópurinn smíðaði eigin verkfæri frá grunni.
Lua er vinsælt í forritun á tölvuleikjum og það tekur skamman tíma að læra Lua. Forritunarumhverfið Codea er byggt á Lua. Leikir í Roblox eru gerðir í Lua. Lua er notuð í ýmis konar hugbúnaði öðrum en leikjum og má nefna að Lua er notað í tengslum við Mediawiki til að færa gögn úr Wikidata yfir í Wikipediagreinar.
Remove ads
Dæmi
-- Hér er dæmi sem sniður bæti
-- Við teljum hversu oft „bytes“ er deilanlegt með 1024
-- Þannig finnum við besta háttin
-- Undirforrit sem kallast „formatBytes“ og tekur tölu og svo sniðsstreng
local function formatBytes(bytes, formatStr)
formatStr = formatStr or "%s%s" -- Við gefum sjálfgefið gildi
local units = { "B", "KB", "MB", "GB", "TB" } -- Við virðum IEC hérna ekki
local timesDivisible = 1
-- Á meðan að við erum innan with mörkin á „units“ og „bytes“ er deilanlegt með 1024 höldum við áfram
while timesDivisible < #units and bytes >= 1024 do
bytes = bytes / 1024
timesDivisible = timesDivisible + 1
end
local bytesString
if bytes == math.floor(bytes) then -- Efa talan er heil þá viljum við ekki auka kommu
bytesString = ("%d"):format(bytes) -- Til dæmis: 50
else
bytesString = ("%0.2f"):format(bytes) -- Til dæmis 50.00
end
return formatStr:format(bytesString, units[timesDivisible])
end
print(formatBytes(500)) --> 500B
print(formatBytes(5000)) --> 4.88KB
print(formatBytes(1024 * 50, "%s %s")) --> 50 KB
print(formatBytes(1024 * 1024 * 1024)) --> 1GB
Remove ads
Tengill
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads