查看“模板:Loop/doc”的源代码
←
模板:Loop/doc
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{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}} == 简介 == 该模板可以循环执行语句。相较于解析器函数,因为使用Lua模块进行循环,所以'''没有100次上限的限制'''。 == 用法 == <pre> {{loop | 自增/减变量名 = 初值 | 终值 | 自增/减量 |do= <nowiki><nowiki></nowiki> 循环执行的代码... <nowiki></nowiki></nowiki>}} </pre> 其中,使用自增/减变量的写法为:<code><nowiki>{{#var:变量名}}</nowiki></code>,如:<code><nowiki>{{#var:time}}</nowiki></code>。 默认的自增/减量在初值小于终值为1,在初值大于终值时为-1。 注意: * 第一层循环的代码需要用<code><nowiki><nowiki></nowiki></code>标签包裹 * 多层循环中内层循环的代码不需要<code><nowiki><nowiki></nowiki></code>标签包裹 由于使用{{tl|loop}}调用时,上下文会被更改为{{tl|loop}},因此被<code><nowiki><nowiki></nowiki></code>标签包裹的代码将'''无法正常接收'''模板的接收参数(也即被三对大括号包裹的参数,如<code><nowiki>{{{1}}}</nowiki></code>) 如果需要使用传入的模板接收参数,可以改为直接调用[[模块:Loop]],具体方法为:将<code><nowiki>{{loop|...}}</nowiki></code>替换为<code><nowiki>{{#invoke:loop|loop|...}}</nowiki></code>。 == 示例 == === 示例1 === <pre> {{#vardefine:count|0}}<!-- -->{{loop|time=1|101|do= <nowiki><nowiki></nowiki>{{#vardefine:count| {{#expr: {{#var:count}} + {{#var:time}} }} }}<nowiki></nowiki></nowiki> }} 结果:{{#var:count}} </pre> {{#vardefine:count|0}}<!-- -->{{loop|time=1|101|do= <nowiki>{{#vardefine:count| {{#expr: {{#var:count}} + {{#var:time}} }} }}</nowiki> }} 结果:{{#var:count}} === 示例2 === <pre> {{#vardefine:count|0}}<!-- -->{{loop|time1=1|5|do=<nowiki><nowiki></nowiki> {{loop|time2=1|100|do= {{#vardefine:count| {{#expr: {{#var:count}} + {{#var:time1}} * {{#var:time2}} }} }} }} <nowiki></nowiki></nowiki>}} 结果:{{#var:count}} </pre> {{#vardefine:count|0}}<!-- -->{{loop|time1=1|5|do=<nowiki> {{loop|time2=1|100|do= {{#vardefine:count| {{#expr: {{#var:count}} + {{#var:time1}} * {{#var:time2}} }} }} }} </nowiki> }} 结果:{{#var:count}} === 示例3 === 当需要使用模板的接收参数时,请直接调用[[模块:Loop]]。 <pre> {{#invoke:loop|loop|time=1|5 |do=<nowiki><nowiki></nowiki> {{#expr:{{#var:time}} + {{{1|0}}} }}{{{split|、}}} <nowiki></nowiki></nowiki> }} </pre> {{#invoke:loop|loop|time=1|5 |do=<nowiki> {{#expr:{{#var:time}} + {{{1|0}}} }}{{{split|、}}} </nowiki> }} 若以上代码位于某模板中,则: * <code><nowiki>{{模板名称}}</nowiki></code>的结果为:1、2、3、4、5、 * <code><nowiki>{{模板名称|2}}</nowiki></code>的结果为:3、4、5、6、7、 * <code><nowiki>{{模板名称|2|split=@}}</nowiki></code>的结果为:3@4@5@6@7@ == 与解析器函数的替换 == 本模板的参数与<code>#loop</code>略有不同,你可以通过一下方法快速替换: #将<code>#loop:</code>替换为<code>subst:loop/auto|</code>。 #点击“保存更改”。 === 例子 === 替换过程中进行的更改以'''粗体'''标注。 #若有使用<code>#loop</code>的代码如下: #:<div class="mw-code"><nowiki>{{</nowiki>'''#loop:'''<nowiki>i|5|10|{{#var:i}}<br />}}</nowiki></div> #将<code>#loop:</code>替换为<code>loop/auto|</code>: #:<div class="mw-code"><nowiki>{{</nowiki>'''subst:loop/auto|'''<nowiki>i|5|10|{{#var:i}}<br />}}</nowiki></div> #点击保存,原内容被替换为 #:<pre>{{#invoke:loop|loop|i=5|14|do=<nowiki><nowiki></nowiki>{{#var:i}}<br /><nowiki></no</nowiki>wiki> }}</pre> <includeonly>[[分类:功能模板]]</includeonly> <noinclude>[[Category:模板说明文件]]</noinclude>
该页面使用的模板:
模板:FromOther/CN
(
查看源代码
)
模板:Loop
(
查看源代码
)
模板:Namespace detect
(
查看源代码
)
模板:Tl
(
查看源代码
)
模块:Arguments
(
查看源代码
)
模块:Loop
(
查看源代码
)
返回至
模板:Loop/doc
。
导航菜单
个人工具
登录
名字空间
模板
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
随机页面
最近更改
最新文件
常用
上传多个文件
工具
链入页面
相关更改
特殊页面
页面信息