Difference between revisions of "Module:Leapyear"

From blackwiki
Jump to navigation Jump to search
blackwiki>BrandonXLF
blackwiki>BrandonXLF
Line 4: Line 4:
 
local function leap_year ()
 
local function leap_year ()
 
local leapyear
 
local leapyear
if (0 == (year%4) and (0 ~= (year%100) or 0 == (year%400))) then
+
if (0 == (year%4) and (0 ~= (year%100) or 0 == (year%400))) then            -- if leapyear then
leapyear = 'yes'
+
leapyear = 'yes'                                                   -- leapyear = yes                 
 
end
 
end
 
end
 
end
Line 14: Line 14:
 
end
 
end
  
function p._main(args)
+
function p._main(args)
if leapyear == 'yes' then
+
if leapyear == 'yes' then                                                  -- if leapyear then
if args[1] then
+
if args[1] then                                                        -- if args[1] is defined then
return args[1]
+
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
 
else
return 1
+
return 1 -- if args[1] isn't defined return 1
 
end
 
end
else
+
else                                                                       -- if not leapyear then
if args[2] then
+
if args[2] then                                                         -- if args[2] is defined then                 
return args[2]
+
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
 
else
return 0
+
return 0 -- if args[2] isn't defined return 0
 
end
 
end
 
end
 
end
Line 31: Line 39:
 
end
 
end
  
return p
+
return p -- displays result

Revision as of 15:16, 13 August 2018

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


blank

{{#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