帮助:解析函数/loop
loop是一个解析函数。帮助:解析函数页列出了所有解析函数的说明。
loop
循环函数。出自扩展 Loops。
重复解析一段wikitext。需要指定循环次数和循环变量。循环变量每次加一,如果循环次数为负数,则变量每次减一。
- 官方文档:Extension:Loops
语法
{{#loop: 变量名 | 起始值 | 循环次数 | 循环内容 }}
- 变量名(必填):存储当前循环次数的变量名称,可通过访问
- 起始值(必填):循环计数器初始值,接受整数值
- 循环次数(必填):绝对值决定循环次数,正负决定递增/递减方向
- 循环内容(必填):每次循环解析的wikitext内容
循环次数为0时不执行任何操作,负数时执行反向计数。实际循环次数取绝对值,例如"-4"同样执行4次循环。
示例
{{#loop: a | 1 | 4 | {{#var:a}} }}
→ 1234
{{#loop: j | 7 | -4 | {{#var:j}} }}
→ 7654
{{#loop: i | 2 | 4 |<nowiki/>
*{{#var:i}}
}}
- 2
- 3
- 4
- 5
底层代码
- 代码逻辑:
- 检查循环次数是否为0,若为0直接返回空字符串
- 通过计数器防止无限循环
- 每次循环前更新变量值并解析wikitext内容
- 根据循环次数的正负决定递增/递减方向
- 循环内容在每次迭代时动态解析,支持嵌套解析函数
实际用例
- 一些Wiki使用了相关特性,如下所示这个静态列表可能在下列页面更改后过时,仅供批判性参考。