Module:Sandbox/Yajnvb Explained

--Yajnvb Google Code-in 2017, Introduction to Lua in Wikipedia.--[Lua task #03] Create your own Lua module on English Wikipedia (Wikimedia)

local p = -- p stands for package

-- Task 3function p.hello(frame) return "Hello, world!"end

-- Task 4p.Hi = function(frame) strName = frame.args.name or "Jimbo" return "Hello from Lua to my friend " .. strName .. ".
"end

-- Task 5 and 6p.temperature = function(frame) cel = tonumber(frame.args.celsius) or 0 fah = ((cel*9) / 5) + 32 msg = cel.." degrees celsius is " .. fah .. " degrees farenheit." if cel > 9 then msg = msg.." It is warm." else msg = msg.." It is cold." end return msgend

--Task 7p.times = function(frame) local num = tonumber(frame.args.num) or 2 local out = num.." times table
" for i = 1, 12 do out = out .. num.." times "..i.." equals "..i * num .. "
" end return outend

--Task 8p.mum = function(frame) local family = local msg = "" for i = 1, #family do msg = msg .. "Hello " .. family[i] .. "
" end return msgend

--Task 9p.langnames = function(frame) local langs = mw.language.fetchLanguageNames local langlist = "" local count = 0 for key, value in pairs(langs) do langlist = langlist .. key .. " - " .. value .. "
" count = count + 1 end return langlist .. "
= " .. count .. " languages"end

p.pageinfo = function(frame) local ttl = frame.args.title if ttl

nil then msg = "
".."Empty string (nil) is invalid title for a page" else local ttlobj = mw.title.new(ttl) local page_exists = ttlobj.exists if page_exists

false then msg = "
"..ttl.." does not exist and is not a redirect." else local isRedirect = ttlobj.isRedirect if isRedirect

true then msg = "
"..ttl.." exists and is a redirect." else msg = "
"..ttl.." exists and is not a redirect." end end end return msgend

return p