2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

用戶:サンムル/Lua備忘錄

萌娘百科,萬物皆可萌的百科全書!轉載請標註來源頁面的網頁連結,並聲明引自萌娘百科。內容不可商用。
跳至導覽 跳至搜尋

本頁記錄了在使用wiki和Lua交互過程中遇到的一些使用技巧或者莫名其妙的問題及解釋說明和解決方法。

今後也將不斷更新。

技巧

  • 延遲解析wiki文本
  1. 在wiki中使用nowiki標籤套住帶有模板等的wiki文本。
  2. 在Lua代碼中使用mw.text.unstripNoWiki剝離nowiki後使用mw.text.decode反轉義字符串中的所有HTML轉義字符。
  3. 使用frame:preprocess生成能解析wiki文本的字符串,作為輸出。
  • Lua模塊從調用其的模板繼承參數的幾種方式
主頁面:模塊:Arguments#Frames and parent frames
  • 正則表達式
主頁面:User:東東君/正則表達式
若對Lua的正則表達式不滿,可以使用{{Regex}}模板或其封裝擴展Extension:RegexParserFunctions

錯誤

  • Lua錯誤:內部錯誤:解釋器因收到信號「24」而終止。
    代碼中存在死循環
    可能是由於本頁面大量調用或調用耗時的Lua模塊,導致分析器處理超時,伺服器強制中止解析,繼而引發Lua模塊拋出錯誤。
    按目前為止收集到的數據,當Lua使用時間超過7秒時就會強制中止解析。
    因此代碼中存在死循環也可以說是可能性很大的一種情況。
    實際案例:[[Template:TimeZone/convert/doc/全球各時區時間]]