Jump to content

Template:For

From Meta, a Wikimedia project coordination wiki
(Redirected from Template:For loop)
Template documentation

Description[edit]

The template calls a specified template up to 150 times, where one parameter takes each of a list of values; in addition to the variable parameter, for up to 4 parameters a fixed value can be specified.

Usage[edit]

(Note the change for the constant values.)

{{for
  |call=template to call (default: 1x)
  |what to separate the entries with (unnamed parameter; required, but can be the empty string)
  |pc1n=name of first parameter with constant value (default: the value of parameter u)
  |pc1v=first constant value (default: empty)
  |pc2n=name of second parameter with constant value (default: the value of parameter u)
  |pc2v=second constant value (default: empty)
  |pc3n=name of third parameter with constant value (default: the value of parameter u)
  |pc3v=third constant value (default: empty)
  |pc4n=name of fourth parameter with constant value (default: the value of parameter u)
  |pc4v=fourth constant value (default: empty)
  |pc5n=name of fifth parameter with constant value (default: the value of parameter u)
  |pc5v=fifth constant value (default: empty)
  |pv=name of variable parameter (default: 1)
  |prefix=constant first part of the value of pv (default: empty)
  |postfix=constant last part of the value of pv (default: empty)
  |list of 0 to 150 parameter values (without prefixes and postfixes), with separator "|"
     (empty parameter values work in the regular way, they are ''not'' ignored like undefined ones)
  |u=name of a parameter that is not used in template ''call'' (default: empty; see also below)

}}

The separator is unnamed, allowing it to start and/or end with newlines and spaces. This parameter should be put before the list. If a parameter value in the list contains an equals sign the list should use named parameters, at least from that point, where it should be noted that e.g. the third item in the list is parameter 4, because parameter 1 is the separator. If the separator contains an equals sign then represent it with {{=}}, see Template:=.

Examples[edit]

Code Result Notes
1{{for|, 1|<!--
 -->00|01|02|03|04|05|06|07|08|09|<!--
 -->10|11|12|13|14|15|16|17|18|19|<!--
 -->20|21|22|23|24|25|26|27|28|29|<!--
 -->30|31|32|33|34|35|36|37|38|39|<!--
 -->40|41|42|43|44|45|46|47|48|49|<!--
 -->50|51|52|53|54|55|56|57|58|59|<!--
 -->60|61|62|63|64|65|66|67|68|69|<!--
 -->70|71|72|73|74|75|76|77|78|79|<!--
 -->80|81|82|83|84|85|86|87|88|89|<!--
 -->90|91|92|93|94|95|96|97|98|99|<!--
 -->call=1x}}
100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199 Note that the last part of the separator is used as a prefix; the first prefix needs to be put separately.
{{for|-|a|3||c|g}}
a-3--c-g Using Template:1x for the default call.
{{for|-|a|3||c|g|call=3x}}
aaa-333--ccc-ggg Using Template:3x.
{{for|

|a|3||c|g|call=3x}}
aaa

333


ccc

ggg

.
{|class="wikitable sortable"
|-
!scope="col"| Test
|-
| {{for|
{{!}}-
{{!}} |a|b|c|d|e|call=3x}}
|}
Test
aaa
bbb
ccc
ddd
eee
.
{|class="wikitable sortable" 
|-
!scope="col"| number
!scope="col"| reciprocal
|-
| {{for|
{{!}}-
{{!}} |call=table row example|3|1|5|3|2}}
|}
number reciprocal
3 0.33333333333333
1 1
5 0.2
3 0.33333333333333
2 0.5
Using Template:Table row example.
{{for| / |call=short DOW|3|1|5|3|2}}
Wed / Mon / Fri / Wed / Tue Using Template:Short DOW.
{{for|; |call=t2|pc1n=2|pc1v=constant|abc|def|ghi|postfix=pof}}
Parameter 1 is "abcpof", parameter 2 is "constant"; Parameter 1 is "defpof", parameter 2 is "constant"; Parameter 1 is "ghipof", parameter 2 is "constant" Using Template:T2.
{{for|, |call=concat and link to w:en:|pc1n=1|pc1v=John_|pv=2||Lennon|Wayne}}
John_, John_Lennon, John_Wayne Using Template:concat and link to w:en: containing "[[w:en:{{{1|}}}{{{2|}}}|{{{1|}}}{{{2|}}}]]".
A for-call can give a row or column of choice, see e.g. Template:Power.
{{for|; |call=t2|pc1n=1|pc1v=7|pc2n=2|pc2v=5|abc|def|ghi}}
Parameter 1 is "abc", parameter 2 is "5"; Parameter 1 is "def", parameter 2 is "5"; Parameter 1 is "ghi", parameter 2 is "5" A constant parameter is ignored if it is the same as the (implicitly or explicitly given) variable parameter. Using Template:T2.
{{#expr:{{for||call=plus square|pv=1|1|2|3|4|5}}}}
55. Using Template:Plus square.
Semi-recursive: see Template talk:Foreach/recursion.


See also[edit]