由Nzh21提出的对模块:Loop的编辑请求:
增加以下内容:
diff --git a/old.lua b/new.lua
index 5edce90..9e4d1bd 100644
--- a/old.lua
+++ b/new.lua
@@ -103,9 +103,10 @@ function _loop(args, frame)
local result = ''
if type(args[2]) == 'nil' and _min > _max and addend > 0 then addend = -1 end
for i=_min, _max, addend do
- frame:callParserFunction('#vardefine', name, i)
+ local wikitext = loop
+ wikitext = string.gsub(wikitext, '{{%s-#var:%s-'..name..'%s-}}', i)
-- mw.log('执行循环体('..name..'='..tostring(i)..') '..loop)
- result = result..frame:preprocess(loop)
+ result = result..frame:preprocess(wikitext)
end
-- mw.log('循环结果 '..result)
return result
@@ -217,10 +218,11 @@ function module.fornumargs(frame)
end
table.sort(keys)
for _, idx in ipairs(keys) do
- parent:callParserFunction('#vardefine', numname, idx)
- parent:callParserFunction('#vardefine', valname, parent.args[prefix .. idx])
+ local wikitext = loop
+ wikitext = string.gsub(wikitext, '{{%s-#var:%s-'..numname..'%s-}}', idx)
+ wikitext = string.gsub(wikitext, '{{%s-#var:%s-'..valname..'%s-}}', parent.args[prefix .. idx])
if cond == '' or parent:preprocess(cond) ~= '' then
- table.insert(output, parent:preprocess(text))
+ table.insert(output, parent:preprocess(wikitext))
end
end
return table.concat(output)
萌百终于要更新mw,因为var即将弃用,此模块之前有依赖于var,因此替换掉原先使用的的vardefine。
这个编辑请求可以不必立即执行,28号更新完成后再替换即可。
如果能够在7号之前替换掉所有对#invoke:loop,那么也可以考虑直接废弃掉本模块。(没有var这个模块也很难做出一些复杂的操作了)——Nzh21(讨论) 2025年7月4日 (五) 00:43 (CST)回复
由4O74Y74L74J7提出的对Module:Loop的编辑请求:
当前使用了本模板的{{VOCALOID Songbox Introduction}}在大量页面报错,显示本模块Lua错误,需要修复一下。——4O74Y74L74J7(留言) 2025年8月24日 (日) 14:34 (CST)回复
local wikitext = loop订正为
local wikitext = text