Модуль:КБУ/Таблица

[создать | история | обновить]Документация
У этого модуля нет документации. Если вы знаете, как использовать этот модуль, пожалуйста, добавьте соответствующую информацию.
p = {} local data = {} data.imports = { PROCESS_ARGS = "Модуль:ProcessArgs", CSD = "Модуль:КБУ" } data.arg_names = { LETTER = "буква", -- буква, которой обозначаются критерии в таблице NUMBER = "номер", -- дополнительное значение, переопределяющее идентификатор критерия (например, "О5") CRITERION = "критерий" -- дополнительное значение, переопределяющее текст критерия } data.colors = { EVEN_ROW = "#abf692", -- фон чётных строк в таблице (темнее) ODD_ROW = "#caf6bb" -- фон нечётных строк в таблице (светлее) } data.error_messages = { NO_LETTER = "Не указана буква, входящая в идентификатор критерия.", NO_CSD_FUNCTION = "Не найден модуль " .. data.imports.CSD .. "." } function p.table(f) local args = require(data.imports.PROCESS_ARGS).merge(true) local criterion = require(data.imports.CSD).criterion assert(criterion, data.error_messages.NO_CSD_FUNCTION) local criteriaLetter = args[data.arg_names.LETTER] assert(criteriaLetter, data.error_messages.NO_LETTER) local resultTable = {} table.insert(resultTable, "{| style=\"width: 100%; border-collapse: collapse\" cellpadding=\"10\"\n") table.insert(resultTable, "!width=\"50%\"| Критерий\n") table.insert(resultTable, "!width=\"50%\"| Описание\n") local index = 1 while args[index] do local indexString = tostring(index) local numberOverride = args[data.arg_names.NUMBER .. indexString] local criterionOverride = args[data.arg_names.CRITERION .. indexString] local criterionNumber = criteriaLetter .. indexString table.insert(resultTable, "|-style=\"background-color: ") if index % 2 == 0 then table.insert(resultTable, data.colors.EVEN_ROW) else table.insert(resultTable, data.colors.ODD_ROW) end table.insert(resultTable, "\"\n") table.insert(resultTable, "| <big id=\"") table.insert(resultTable, numberOverride or criterionNumber) table.insert(resultTable, "\"><strong>") table.insert(resultTable, criterionOverride or criterion({criterionNumber, "номер"})) table.insert(resultTable, "</strong></big>\n") table.insert(resultTable, "| ") table.insert(resultTable, args[index]) table.insert(resultTable, "\n") index = index + 1 end table.insert(resultTable, "|}") return table.concat(resultTable) end return p 
В данной статье используются материалы из статьи «Модуль:КБУ/Таблица» с вики-сайта Minecraft Wiki, расположенного на Фэндоме, и они распространяются согласно лицензии Creative Commons Attribution-NonCommercial-ShareAlike 3.0. Авторы статьи.