模組:Test/sandbox
![]() | 这是Module:Test(差异)的沙盒。 参见本模块的测试样例(运行)。 |
![]() | 請勿在此測試編輯功能! 只有沙盒(Sandbox)或您的用户页(Userpage)可以用作測試。 |
Module:Test是一个专门用于测试其他模块和函数的 Lua 模块。它提供了一个环境,允许编者验证和调试目标模块的功能,尤其是那些只能通过其他模块调用的元模块。通过这个模块,编者可以确保目标模块在各种条件下的行为符合预期,检查其输出是否与预期结果一致,并帮助发现和修复模块中的错误,从而提高模块的性能和可靠性。借助此模块,编者能够在不影响实际模块使用的情况下,对模块进行有效的测试和调试。
Hello
這是一個用Lua編寫的Hello World程式。
用法
{{#invoke:test|hello}}
→ Hello, world!
上述文档嵌入自Module:Test/doc。 (编辑 | 历史) 编者可以在本模块的沙盒 (编辑 | 差异)和测试样例 (编辑)页面进行实验。 请在/doc子页面中添加分类。本模块的子页面。 |
-- 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 = {}
local origArgs
function p.CDD(frame)
-- For calling from #invoke.
if frame == mw.getCurrentFrame() then
origArgs = frame:getParent().args
else
origArgs = frame
end
local pframe = frame:getParent()
local args = pframe.args
if (origArgs['FileType'] and origArgs['FileType'] ~= '') then
filet=origArgs['FileType']
else
filet="png"
end
if (origArgs['CDDtype'] and origArgs['CDDtype'] ~= '') then
cddt=origArgs['CDDtype'] .. "_"
else
cddt="CDel_"
end
if (origArgs['Size'] and origArgs['Size'] ~= '') then
if (origArgs['Size'] ~= '') then
cddSize=tonumber(origArgs['Size'])
else
cddSize=0
end
else
cddSize=0
end
return p._CDD_(args,filet,cddt,cddSize)
end
function p._CDD(args)
return p._CDD_(args,"png","CDel_",0)
end
function p._CDD_(args,ft,ct,dSize)
-- For calling from other Lua modules.
local body ='<span style="display:inline-block;">' -- create and start the output string
local filetype = ft
local CDDtype = ct
for v, x in ipairs(args) do -- process params, ignoring any names
pgname="." .. filetype
cpgname=CDDtype
lasts = "|link=]]"
if (dSize > 1) then
lasts = "|x" .. dSize .. "px|link=]]"
end
if (x ~= '') then -- check for null/empty names
d = tonumber(x)
if (d ~= nil) then
if (d > 20) then
for i = 1,string.len(x) do
tmpstr = string.sub(x,i,i)
if (tonumber(tmpstr) > 3) then
body = body .. "[[File:".. cpgname .. string.sub(x,i,i) .. pgname .. lasts
else
body = body .. "[[File:".. cpgname .. string.sub(x,i,i) .. "x" .. pgname .. lasts
end
end
else
body = body .. "[[File:".. cpgname .. x .. pgname .. lasts
end
else
body = body .. "[[File:".. cpgname .. x .. pgname .. lasts
end
end
end
body = body .. "</span>" -- finish output string
return body -- return result
end
return p