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