Module:Gaps: Difference between revisions

From Zoophilia Wiki
Jump to navigationJump to search
meta>The Mol Man
No edit summary
meta>Jackmcbarn
use for-in where possible, and other fixes
Line 1: Line 1:
local p = {}
local p = {}


function p.add_gaps(frame)
local getArgs
local parameters = frame:getParent().args
 
function p.main(frame)
if not getArgs then
getArgs = require('Module:Arguments').getArgs
end
local args = getArgs(frame, {wrappers = 'Template:Gaps'})
local size
local size
if parameters['size'] then
if args.size then
size = 'font-size:'..parameters['size']..';'
size = ';font-size:' .. args.size
else
else
size = ''
size = ''
end
end
local ret_string = '<span style="white-space:nowrap' .. size .. '">'
local ret_string = '<span style="white-space: nowrap;'..size..'">'
if args.lhs then
ret_string = ret_string .. args.lhs .. ' = '
if parameters['lhs'] then
ret_string = ret_string..parameters['lhs']..' = '
end
end
for i=1,20,1 do
for _,v in ipairs(frame.args) do
if not parameters[i] then
ret_string = ret_string .. '<span style="margin-left: 0.2em">' .. v .. '</span>'
break
else
ret_string = ret_string..'<span style="margin-left: 0.2em">'..parameters[i]..'</span>'
end
end
end
if parameters['e'] then
if args.e then
local base = parameters['base'] or '10'
local base = args.base or '10'
ret_string = ret_string..'<span style="margin-left: 0.27em; margin-right: 0.27em">×</span>'..
ret_string = ret_string .. '<span style="margin-left: 0.27em; margin-right: 0.27em">×</span>'..
base ..'<span style="display:none">^</span><sup>'..string.gsub(parameters['e'],'-','−')..'</sup>'
base .. '<span style="display:none">^</span><sup>' .. args.e:gsub('-','−') .. '</sup>'
end
end
if parameters['u'] then
if args.u then
ret_string = ret_string..'&nbsp;'..parameters['u']
ret_string = ret_string .. '&nbsp;' .. args.u
end
end

Revision as of 21:04, 2 July 2014

Documentation for this module may be created at Module:Gaps/doc

local p = {}

local getArgs

function p.main(frame)
	if not getArgs then
		getArgs = require('Module:Arguments').getArgs
	end
	local args = getArgs(frame, {wrappers = 'Template:Gaps'})
	local size
	
	if args.size then
		size = ';font-size:' .. args.size
	else
		size = ''
	end
	
	local ret_string = '<span style="white-space:nowrap' .. size .. '">'
	
	if args.lhs then
		ret_string = ret_string .. args.lhs .. ' = '
	end
	
	for _,v in ipairs(frame.args) do
		ret_string = ret_string .. '<span style="margin-left: 0.2em">' ..  v .. '</span>'
	end
	
	if args.e then
		local base = args.base or '10'
		ret_string = ret_string .. '<span style="margin-left: 0.27em; margin-right: 0.27em">×</span>'..
					base .. '<span style="display:none">^</span><sup>' .. args.e:gsub('-','−') .. '</sup>'
	end
	
	if args.u then
		ret_string = ret_string .. '&nbsp;' .. args.u
	end
	
	return ret_string
end

return p