模組討論: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