Template:Iterate

From Meta, a Wikimedia project coordination wiki

Jump to: navigation, search

{{subst:x{{{1}}}|{{subst:substifx}}}}{{{2}}}{{subst:x{{{1}}}|{{subst:rightbraces}}}}

[edit]

Documentation

This template works with various recursive conversion templates, simulating the process of "saving a page n times".

Use
{{subst:iterate|times|{{subst:template| arguments}} }}, whenever Template:Xtimes, e.g. template:x4 ( talk edit history links ), exists.
For example, using template:tsubst ( talk edit history links )
{{subst:iterate|3|{{subst:tsubst}} }} gives after one save the wikitext

{{subst:#if:x|{{subst:#if:x|{{subst:#if:x|a{{subst:tsubst|b}}c }}}}}}

and after another save:

aaaaa{{subst:tsubst|b}}ccccc

For example, using template:square root ( talk edit history links )
{{subst:iterate|3|{{subst:square root|5|1}} }} gives after one save the wikitext

{{subst:#if:x|{{subst:#if:x|{{subst:#if:x|{{subst:square root|5|3}}<br>1 }}}}}}

and after another save:

{{subst:square root|5|2.2360679775}}<br>2.23606889564<br>2.2380952381<br>2.33333333333<br>3<br>1

And
{{subst:#if:x|{{subst:iterate|3|{{subst:square root|5|1}} }} }} gives

{{subst:square root|5|2.2360679775}}<br>2.23606889564<br>2.2380952381<br>2.33333333333<br>3<br>1 in one edit.

Thus times is the number of extra conversions (in this case: improvements of the approximation of the square root): in the first case 2 edits and 3 extra is 5, in the second 1 edit, 1 extra for the #if, and 3 extra due to Template:Iterate, is also 5.

And, using template:countdown ( talk edit history links )
{{subst:iterate|7|{{subst:countdown|{{subst:pipeN|7}}|7}}}} gives:

<br>1 |<br>2 |<br>3 |<br>4 |<br>5 |<br>6 |<br>7 | in two saves.

And
{{subst:#if:x|{{subst:iterate|7|{{subst:countdown|{{subst:pipe8}}|7}}}}}} gives


1 |
2 |
3 |
4 |
5 |
6 |
7 | in one save.

Note: countdown already iterates until 0 in 2 saves, so template:iterate is only useful with countdown if we want to stop before we reach 0, or to produce special characters like these pipes.

Substituting this template produces one or more new substitution template calls, allowing recursive change of a page, see Help:Recursive conversion of wikitext.