Module:Leapyear

From blackwiki
Jump to navigation Jump to search

Template:Template for discussion/dated

Usage

By default returns 1 if it's a leap year and 0 when it isn't if unnamed parameter 1 is defined it returns that when it is a leap-year and if unnamed parameter 2 is defined it returns it when it's not a leap year. Use blank to return nothing.

Use local mLeapyear = require('Module:Leapyear')._main when using in a module that already uses Module:Arguments

Example

0

{{#invoke:leapyear|main}}


no

{{#invoke:leapyear|main|yes|no}} |yes |no


0

{{#invoke:leapyear|main|blank|0}} |blank |0



{{#invoke:leapyear|main|1|blank}} |1 |blank



local getArgs = require('Module:Arguments').getArgs
local p = {}

local function leap_year ()
	local leapyear
	if (0 == (year%4) and (0 ~= (year%100) or 0 == (year%400))) then            -- if leapyear then
		leapyear = 'yes'    	                                                -- leapyear = yes                  
	end
end

function p.main(frame)
	local args = getArgs(frame)
	return p._main(args)
end

function p._main(args)															
	if leapyear == 'yes' then                                                   -- if leapyear then
		if args[1] then                                                         -- if args[1] is defined then
			if args[1] == 'blank' then                                           -- if args[1] is blank then
				return                                                          -- return (''blank'')										
			else																
				return args[1]													-- if args[1] isn't blank then return args[1]
			end
		else
			return 1															-- if args[1] isn't defined return 1
		end
	else                                                                        -- if not leapyear then
		if args[2] then                                                         -- if args[2] is defined then                  
			if args[2] == 'blank' then		    								-- if args[2] is blank								 
				return      													-- return (''blank'')            
			else
				return args[2]													-- if args[2] isn't blank then return args[2]
			end
		else
			return 0															-- if args[2] isn't defined return 0
		end
	end
	
end

return p																		-- displays result