Module:Sandbox/Yajnvb

--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 3 function p.hello( frame ) return "Hello, world!" end

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

-- Task 5 and 6 p.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 msg end

--Task 7 p.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 out end

--Task 8 p.mum = function(frame) local family = {"Dad", "Mum", "Uncle Stan", "Aunty Elsie", "Brian", "John", "Smith", "Emma"} local msg = "" for i = 1, #family do msg = msg .. "Hello " .. family[i] .. " "	end return msg end

--Task 9 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 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 msg end

return p