2023年政策修订增补工作正在进行中,欢迎参与!
用戶:サンムル/Lua備忘錄
跳至導覽
跳至搜尋
本頁記錄了在使用wiki和Lua交互過程中遇到的一些使用技巧或者莫名其妙的問題及解釋說明和解決方法。
今後也將不斷更新。
技巧
- 延遲解析wiki文本
- 在wiki中使用
nowiki
標籤套住帶有模板等的wiki文本。 - 在Lua代碼中使用
mw.text.unstripNoWiki
剝離nowiki
後使用mw.text.decode
反轉義字符串中的所有HTML轉義字符。 - 使用
frame:preprocess
生成能解析wiki文本的字符串,作為輸出。
- Lua模塊從調用其的模板繼承參數的幾種方式
- 正則表達式
- 主頁面:User:東東君/正則表達式
- 若對Lua的正則表達式不滿,可以使用{{Regex}}模板或其封裝擴展Extension:RegexParserFunctions。
錯誤
- Lua錯誤:內部錯誤:解釋器因收到信號「24」而終止。
代碼中存在死循環。- 可能是由於本頁面大量調用或調用耗時的Lua模塊,導致分析器處理超時,伺服器強制中止解析,繼而引發Lua模塊拋出錯誤。
- 按目前為止收集到的數據,當Lua使用時間超過7秒時就會強制中止解析。
- 因此代碼中存在死循環也可以說是可能性很大的一種情況。
- 實際案例:[[Template:TimeZone/convert/doc/全球各時區時間]]