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/全球各时区时间]]