Difference between revisions of "Module:Coxeter–Dynkin diagram"

From blackwiki
Jump to navigation Jump to search
blackwiki>JohnBlackburne
(add check for null/empty parameters)
blackwiki>JohnBlackburne
(better check for empty string)
Line 14: Line 14:
 
local body ='<span style="display:inline-block;">'        -- create and start the output string
 
local body ='<span style="display:inline-block;">'        -- create and start the output string
 
for v, x in ipairs(args) do                                -- process params, ignoring any names
 
for v, x in ipairs(args) do                                -- process params, ignoring any names
if (x) then -- check for null/empty names
+
if (x ~= '') then -- check for null/empty names
 
         body = body .. "[[File:CDel_" .. x .. ".png|link=]]"  -- write file for this parameter
 
         body = body .. "[[File:CDel_" .. x .. ".png|link=]]"  -- write file for this parameter
 
end
 
end

Revision as of 21:05, 24 April 2014

This module implements Template:Coxeter–Dynkin diagram. It is invoked as

  • {{#invoke:Coxeter–Dynkin diagram|CDD}}

though the parameter is ignored; instead it uses the parameters passed to the template. See the template documentation for how that is used.

For using this from other Lua modules, first load the module.

local CDD = require('Module:Coxeter–Dynkin diagram')._CDD

You can then use it with the following syntax.

CDD{"node", "3", "node"}

See the template documentation for possible inputs.


-- module to turn a parameter list into a list of [[Coxeter–Dynkin diagram]] images.
-- See the template documentation or any example for how it is used and works.
local p = {}

function p.CDD(frame)
	-- For calling from #invoke.
	local pframe = frame:getParent()
	local args = pframe.args
	return p._CDD(args)
end
	
function p._CDD(args)
	-- For calling from other Lua modules.
	local body ='<span style="display:inline-block;">'         -- create and start the output string
	for v, x in ipairs(args) do                                -- process params, ignoring any names
		if (x ~= '') then					-- check for null/empty names
        		body = body .. "[[File:CDel_" .. x .. ".png|link=]]"   -- write file for this parameter
		end
	end
	body = body .. "</span>"                                   -- finish output string
	return body                                                -- return result
end

return p