Module:Sandbox/Clockery

-- Google Code-in 2017, Introduction to Lua in Wikipedia. -- Google Code-in 2017, Create your own Lua module on English Wikipedia local p = {}

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

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

p.Hitchhiker = function(frame) num = frame.args.num or 42 if (num == 42) then msg = num .. "is the answer, but what is the question? " else msg = num .. " is not the answer to the Ultimate Question of Life, the Universe, and Everything, please try again. " end return msg end

p.temperature = function(frame) cel = frame.args.celsius fah = (cel * 9 / 5) + 32 return cel .. " degrees Celsius is " .. fah .. " degrees Fahrenheit. " end

p.temperature2 = function(frame) c = tonumber(frame.args.c) or 0 fah = (c * 9 / 5) + 32 msg = c .. " degrees Celsius is " .. fah .. " degrees Fahrenheit. " if c > 9 then msg = msg .. "It is warm. " else msg = msg .. "It is cold. " end return msg end

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

p.mum = function(frame) local family = {"Dad", "Mum", "Uncle Stan", "Aunty Elsie", "Brian", "Mama Coco", "Mama Imelda", "Miguel"} local number = #family local msg = "" for i = 1, number do msg = msg .. "Hello " .. family[i] .. " "	end return msg end

p.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 pagetitle = frame.args.ptitle local newobj = mw.title.new(pagetitle) local id = newobj.id	if id == 0 then returntext1 = " does not exist " else returntext1 = " exists " end if newobj.isRedirect == true then returntext2 = " is a redirect. " else returntext2 = " is not a redirect. " end return pagetitle .. returntext1 .. "and" .. returntext2 end

return p