Jump to content

Module:Sandbox/Clockery

From Wikipedia, the free encyclopedia
-- 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 .. ".<br>"
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?<br>"
	else msg = num .. " is not the answer to the Ultimate Question of Life, the Universe, and Everything, please try again.<br>"
	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.<br>"
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.<br>"
	if c > 9 then
		msg = msg .. "It is warm.<br>"
	else
		msg = msg .. "It is cold.<br>"
	end
	return msg
end

p.times = function(frame)
	local num = tonumber( frame.args.num ) or 2
	local out = "Times table of " .. num .. "<br>"
	for i = 1, 12 do
		out = out .. num .. " times " .. i .. " equals " .. i * num .. "<br>"
	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] .. "<br>"
	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 .. "<br>"
		count = count + 1
	end
	return langlist .. "<br>= " .. 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.<br>"
	else
		returntext2 = " is not a redirect.<br>"
	end
	return pagetitle .. returntext1 .. "and" .. returntext2
end

return p