由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