“模块:Loop/doc”的版本间的差异
< 模块:Loop
1.38>牛腩面 小 (导入1个版本) |
|||
| (未显示同一用户的1个中间版本) | |||
| 第1行: | 第1行: | ||
| + | {{FromOther/CN|site=萌娘百科|originURL=https://zh.moegirl.org.cn/{{FULLPAGENAMEE}}|origin={{FULLPAGENAME}}|copyright=cc|lsubtype=by-nc-sa|lver=3.0|contribURL=https://zh.moegirl.org.cn/index.php?title={{FULLPAGENAMEE}}&action=history}} | ||
== 简介 == | == 简介 == | ||
2024年1月3日 (三) 19:09的最新版本
| 本页面之全部或部分原来自萌娘百科的模块:Loop/doc,依 CC BY-NC-SA 3.0 CN 授权引入;原贡献者可以在这里看到。 |
简介
该模块可以循环执行语句。相较于解析器函数,因为使用Lua模块进行循环,所以没有100次上限的限制。
用法和功能与{{loop}}类似,但可以处理模板的接收参数(也即被三对大括号包裹的参数,如{{{1}}})
用法
注意:
- 第一层循环的代码需要用
<nowiki>标签包裹。 - 多层循环中内层循环的代码不需要
<nowiki>标签包裹。
- loop
{{#invoke:loop|main| 自增/减变量名 = 初始值 | 最大值 | 自增/减量 |do= <nowiki>
循环执行的代码...
</nowiki>}}
main亦可作loop、for。- 使用自增/减变量的写法为:
{{#var:变量名}},如:{{#var:time}}。 - 默认的自增/减量在初始值小于最大值为1,在初始值大于最大值时为-1。
- while/dowhile
{{#invoke:loop|while| condition = <nowiki>循环条件</nowiki> |do= <nowiki>
循环执行的代码...
</nowiki>}}
{{#invoke:loop|dowhile| condition = <nowiki>循环条件</nowiki> |do= <nowiki>
循环执行的代码...
</nowiki>}}
- fornumargs
{{#invoke:loop|fornumargs| 变量名前缀 | 索引变量名 | 值变量名 |<nowiki>
循环执行的代码...
</nowiki>}}
- 具体使用方法可参考Help:魔术字/解析器函数#循环中的相关介绍。
示例
示例1
{{#vardefine:count|0}}<!--
-->{{#invoke:loop|main|time=1|101|do=
<nowiki>{{#vardefine:count| {{#expr: {{#var:count}} + {{#var:time}} }} }}</nowiki> }}
结果:{{#var:count}}
结果:5151
示例2
{{#vardefine:count|0}}<!--
-->{{#invoke:loop|main|time1=1|5|do=<nowiki>
{{#invoke:loop|main|time2=1|100|do=
{{#vardefine:count| {{#expr: {{#var:count}} + {{#var:time1}} * {{#var:time2}} }} }}
}}
</nowiki>}}
结果:{{#var:count}}
结果:75750
示例3
{{#invoke:loop|main|time=1|5
|do=<nowiki>
{{#expr:{{#var:time}} + {{{1|0}}} }}{{{split|、}}}
</nowiki>
}}
1、2、3、4、5、