• Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

Module talk:PageTemplate

萌娘百科,万物皆可萌的百科全书!转载请标注来源页面的网页链接,并声明引自萌娘百科。内容不可商用。
跳转到导航 跳转到搜索

有用的代码抱走了

真的是每来看一次东东大佬的代码就能学到新东西。

我在{{Sandbox/サンムル/VersionHistory/inline}}中希望将(支持wiki、模版等)的entry列表用{{#forargs}}合并成一个字符串传入Lua模块中。

{{Sandbox/サンムル/VersionHistory/inline|pagename=模块:PageTemplate
|entry1=version:2220458;time=2018年11月30日 (五) 22:54;summary:创建[[模块:PageTemplate]]{{黑幕|一段黑幕}}。
|entry2=version:2220562;time=2018年11月30日 (五) 23:36;summary:第二次编辑。
}}

但很快发现,模版会在合并成字符串的过程中展开,而我想传入原字符串在Lua中处理后再展开模版。

后来尝试在参数前后添加nowiki标签,但在Lua模块中获取值时发现nowiki标签内无法按字符串解析,反而是类似底层代码一样的“代号”。

折腾到后来出现了内部错误:解析器收到信号“24”而中止这个莫名其妙的bug,一直到现在还没有修复。

巡查的时候看到东东大佬编辑的模块,进来看了一眼,这两句深受启发。

t1 = mw.text.unstripNoWiki(tl)
t1 = mw.text.decode(tl)

这段代码我抱走了,以后也会不定期前来“淘宝”(x

P.S. 原来or有这种用法。我还傻乎乎地写了个函数iif……

--下方两句代码等价。
local x = nil or 13
local x = 13

local iif = function(value, valueWhenNil)
	if value == nil then return valueWhenNil
	else return value
	end
end

--サンムル讨论) 2018年12月1日 (六) 03:23 (CST)

这个其实也是我前段时间瞎折腾发现的,当时还兴奋了一阵子。--東東君讨论) 2018年12月1日 (六) 09:42 (CST)