Template talk:Fors
Add topicTemplate:fors (talk, backlinks, edit) containing:
{{fors/aux |v@= |c={{{call}}} |pv={{{pv|1}}} |s={{{sep|}}} |pc1={{{pc1|=}}} |pc2={{{pc2|=}}} |pc3={{{pc3|=}}} |pc4={{{pc4|=}}}| 1={{{1|@}}}|2={{{2|@}}}|3={{{3|@}}} }}
containing:
Template:fors/aux (talk, backlinks, edit) containing:
{{{v{{{1}}}|{{{{{c}}}|{{{pc1}}}|{{{pc2}}}|{{{pc3}}}|{{{pc4}}}|{{{pv}}}={{{1}}}}}}}}{{{v{{{2}}}|{{{s}}}{{{{{c}}}|{{{pc1}}}|{{{pc2}}}|{{{pc3}}}|{{{pc4}}}|{{{pv}}}={{{2}}}}}}}}{{{v{{{3}}}|{{{s}}}{{{{{c}}}|{{{pc1}}}|{{{pc2}}}|{{{pc3}}}|{{{pc4}}}|{{{pv}}}={{{3}}}}}}}}
Documentation
[edit]Description
[edit]The template calls a specified template up to 3 times, where one parameter takes each of a list of values; surplus values are ignored; in addition to the variable parameter, for up to 4 parameters a fixed value can be specified.
Usage
[edit]{{fors |call=template to call |sep=what to separate the entries with |pc1=parameter name=constant value |pc2=parameter name=constant value |pc3=parameter name=constant value |pc4=parameter name=constant value |pv=name of variable parameter |list of up to 150 parameter values, with separator "|" }}
Examples
[edit]{{fors|sep=,|call=x3|1=a=b|2=c=d|3=e}} gives a=ba=ba=b,c=dc=dc=d,eee
Code | Result |
---|---|
1{{fors |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=x1 |sep=, 1 }} |
100, 101, 102 |
Note that the last part of the separator is used as a prefix; the first prefix needs to be put separately.
{{fors|a|3||c|call=x3|sep=-}} using Template:X3 gives
- aaa-333-
{{fors|p|||3||c|call=t|sep=///}} using Template:T gives
- start-p-end///start--end///start--end
{{fors|call=short DOW|3|1|5|3|2|sep= / }} using Template:Short DOW gives
- Wed / Mon / Fri
{{fors|call=t2|pc1=2=constant|abc|def|ghi}} using Template:T2 gives:
Parameter 1 is "abc", parameter 2 is "="Parameter 1 is "def", parameter 2 is "="Parameter 1 is "ghi", parameter 2 is "="
A constant parameter is ignored if it is the same as the (implicitly or explicitly given) variable parameter:
{{fors|call=t2|pc1=1=7|pc2=2=5|abc|def|ghi|sep=,}} using Template:T2 gives:
Parameter 1 is "abc", parameter 2 is "2=5",Parameter 1 is "def", parameter 2 is "2=5",Parameter 1 is "ghi", parameter 2 is "2=5"
Semi-recursive: see Template talk:Foreach/recursion
A reserved name that cannot be used as list item is "@"; it is ignored, but e.g. @1 is not:
{{for|a|@|@1|b|c|call=x3|sep=-}} gives
- @@@a@1@1@1abbbaccc
Related templates
[edit]This template is a short version of Template:For, with improvement, see first example.