Модуль:CDD

Материал из энциклопедии Руниверсалис

Этот модуль реализуется шаблоном {{CDD}} для диаграммы Коксетера-Дынкина. Модуль вызывается следующим образом:

  • {{#invoke:CDD|CDD}}

хотя параметр игнорируется. Вместо этого используются параметры, переданные шаблону. Смотрите документацию по шаблону в {{CDD/doc}} .

Для использования модуля из других Lua модулей, сначала загрузите модуль.

local CDD = require('Module:CDD')._CDD

Вы можете использовать модуль со следующим синтаксисом.

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

Смотрите документацию по шаблону для возможных входных данных.


-- Модуль преобразования списка параметров в список образов [[Диаграмма Коксетера–Дынкина]].
-- Чтобы понять, как использовать и как это работает, смотрите документацию по шаблону или примеры 

local p = {}

function p.CDD(frame) -- Для вызовов из #invoke.
	local pframe = frame:getParent()
	local args = pframe.args
	return p._CDD(args)
end
	
function p._CDD(args) -- Для вызовов из Lua.
	local body ='<span style="display:inline-block;">' -- Создать и начать вывод
	for v, x in ipairs(args) do -- обработать параметры, игнорируя имена
		if (x ~= '') then	-- Проверка на null или пустое имя
        		body = body .. "[[File:CDel_" .. x .. ".png|link=]]"   
                         -- записать файл для этого параметра
		end
	end
	body = body .. "</span>" -- Закончить вывод
	return body              -- вернуть полученный результат
end
return p