模块:Utils:修订间差异
来自Mindustry中文wiki
无编辑摘要 |
无编辑摘要 |
||
| 第19行: | 第19行: | ||
end | end | ||
-- 一个用来打表的函数,会自动适配内容数量,用法:{{#invoke:utils|row|目标1|注释1|...}} | -- 一个用来打表的函数,会自动适配内容数量,用法:{{#invoke:utils|row|目标1|注释1|...}} | ||
function p. | function p.renderGoals(frame) | ||
local args = frame.args | local args = frame.args | ||
local cells = {} | local cells = {} | ||
local i = | -- if判断是否输出目标栏 | ||
local cond = args[1] or '' | |||
if cond == '' then | |||
return '' -- 条件为空,不输出任何内容 | |||
end | |||
local i = 2 | |||
while true do | while true do | ||
local val1 = args[i] | local val1 = args[i] | ||
if val1 == nil then break end | if val1 == nil then break end | ||
val1 = trimTrailing(val1) | val1 = trimTrailing(val1) | ||
i = i + 1 | i = i + 1 | ||
local val2 = args[i] | local val2 = args[i] | ||
| 第36行: | 第43行: | ||
end | end | ||
if #cells == 0 then return "no arg" end | if #cells == 0 then return "no arg" end | ||
return "|-\n| | -- 大粪 | ||
return '<div class="mdtMain">\n<div class="mdtHome">\n<div class="mdtPanel mdtHomeSection">\n<h2 class="mdtFoldHeading" style="margin:0 0 8px 0;">目标列表 <span class="mdtFold"></span></h2>\n{| class="mdtSideTable"\n! 目标 !! 注释|-\n| ' .. table.concat(cells, "\n|-\n| ")..'|}\n</div>\n</div>' | |||
end | end | ||
return p | return p | ||
2026年8月8日 (六) 16:27的版本
可在模块:Utils/doc创建此模块的帮助文档
local p = {}
-- 辅助函数:去除字符串尾部的所有空白字符(空格、换行、回车等)
local function trimTrailing(str)
if str then
return str:gsub("%s+$", "")
end
return str
end
-- 条件函数,用法:{{#invoke:utils|ifeq|条件|为真输出|为假输出}}
function p.ifeq(frame)
local cond = frame.args[1] or ''
if cond ~= '' then
return frame.args[2]
else
return frame.args[3]
end
end
-- 一个用来打表的函数,会自动适配内容数量,用法:{{#invoke:utils|row|目标1|注释1|...}}
function p.renderGoals(frame)
local args = frame.args
local cells = {}
-- if判断是否输出目标栏
local cond = args[1] or ''
if cond == '' then
return '' -- 条件为空,不输出任何内容
end
local i = 2
while true do
local val1 = args[i]
if val1 == nil then break end
val1 = trimTrailing(val1)
i = i + 1
local val2 = args[i]
if val2 == nil then break end
val2 = trimTrailing(val2)
table.insert(cells,val1.." || "..val2)
i = i + 1
end
if #cells == 0 then return "no arg" end
-- 大粪
return '<div class="mdtMain">\n<div class="mdtHome">\n<div class="mdtPanel mdtHomeSection">\n<h2 class="mdtFoldHeading" style="margin:0 0 8px 0;">目标列表 <span class="mdtFold"></span></h2>\n{| class="mdtSideTable"\n! 目标 !! 注释|-\n| ' .. table.concat(cells, "\n|-\n| ")..'|}\n</div>\n</div>'
end
return p
