Difference between revisions of "Foreach"

From Sega Retro

(I didn't realise I had got this working)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
<div style="display:none;">{{#vardefine:tempList|{{{list}}}}}
+
<div style="display:none;">{{#vardefine:i|0}}
{{#vardefine:delimiter|{{{delimiter}}}}}
 
{{#vardefine:i|0}}
 
 
{{#vardefine:currentValue|NULL}}
 
{{#vardefine:currentValue|NULL}}
 
</div>{{#while:
 
</div>{{#while:
| {{#ifexpr:{{#len:{{#var:currentValue}}}} >= {{#len:{{{delimiter}}}}}|true|}}
+
| {{#if:{{#explode:{{{list|}}}|{{{delimiter}}}|{{#var:i}}}}|true|}}
|{{#vardefine:currentValue|{{#explode:{{#var:tempList}}|{{#var:delimiter}}|{{#var:i}}}}}}{{incvar|i}}
+
|{{#vardefine:currentValue|{{#explode:{{{list|}}}|{{{delimiter}}}|{{#var:i}}}}}}{{incvar|i}}{{{{{template}}}|{{#var:currentValue}}}}
{{#if:{{#var:currentValue}}|{{#vardefine:result|{{#replace:{{{1|}}}|[value]|{{#var:currentValue}}}}}}{{#var:result}}|}}
+
}}<noinclude>[[Category:Experimental templates]]
}}
 
<noinclude>[[Category:Experimental templates]]
 
 
A template for iterating through a list and doing something to each item.
 
A template for iterating through a list and doing something to each item.
  
Line 16: Line 12:
 
|list=Whoop, gloop, bloop, doop, shoop
 
|list=Whoop, gloop, bloop, doop, shoop
 
|delimiter=,
 
|delimiter=,
|<br/>
+
|template=Test2
*[value]
 
 
}}
 
}}
 
</pre>
 
</pre>
Line 25: Line 20:
 
|list=Whoop, gloop, bloop, doop, shoop
 
|list=Whoop, gloop, bloop, doop, shoop
 
|delimiter=,
 
|delimiter=,
|<br/>
+
|template=Test2
*[value]
 
 
}}
 
}}
 
+
----
 +
----
 
<pre>
 
<pre>
 
{{foreach
 
{{foreach
|list=Mega Drive-Master System-Saturn-Dreamcast
+
|list=[[Mega Drive]]-[[Master System]]-[[Saturn]]-[[Dreamcast]]
 
|delimiter=-
 
|delimiter=-
|[[[value]]]&nbsp;
+
|template=Test2
 
}}
 
}}
 
</pre>
 
</pre>
Line 39: Line 34:
  
 
{{foreach
 
{{foreach
|list=Mega Drive-Master System-Saturn-Dreamcast
+
|list=[[Mega Drive]]-[[Master System]]-[[Saturn]]-[[Dreamcast]]
 
|delimiter=-
 
|delimiter=-
|[[[value]]]&nbsp;
+
|template=Test2
 +
}}
 +
----
 +
----
 +
<pre>
 +
{{foreach
 +
|list=[[3D Control Pad]], [[Virtua Stick]], [[Virtua Gun]], [[Saturn Twin Stick]]
 +
|delimiter=,
 +
|template=AccessoryCategoryCheck2
 +
}}
 +
</pre>
 +
 
 +
{{foreach
 +
|list=[[3D Control Pad]], [[Virtua Stick]], [[Virtua Gun]], [[Saturn Twin Stick]]
 +
|delimiter=,
 +
|template=AccessoryCategoryCheck2
 
}}
 
}}
 
</noinclude>
 
</noinclude>

Latest revision as of 09:12, 21 July 2018

A template for iterating through a list and doing something to each item.

Examples

{{foreach
|list=Whoop, gloop, bloop, doop, shoop
|delimiter=,
|template=Test2
}}

Produces:

  • INPUT: Whoop
  • NO BRACKETS: Whoop


*INPUT: gloop

  • NO BRACKETS: gloop


*INPUT: bloop

  • NO BRACKETS: bloop


*INPUT: doop

  • NO BRACKETS: doop


*INPUT: shoop

  • NO BRACKETS: shoop




{{foreach
|list=[[Mega Drive]]-[[Master System]]-[[Saturn]]-[[Dreamcast]]
|delimiter=-
|template=Test2
}}

Produces:


*INPUT: Master System

  • NO BRACKETS: Master System


*INPUT: Saturn

  • NO BRACKETS: Saturn


*INPUT: Dreamcast

  • NO BRACKETS: Dreamcast




{{foreach
|list=[[3D Control Pad]], [[Virtua Stick]], [[Virtua Gun]], [[Saturn Twin Stick]]
|delimiter=,
|template=AccessoryCategoryCheck2
}}
  • name: Foreach
  • format: SAT
  • accessory: 3D Control Pad
  • documented:*name: Foreach
  • format: SAT
  • accessory: Virtua Stick
  • documented:*name: Foreach
  • format: SAT
  • accessory: Virtua Gun
  • documented:*name: Foreach
  • format: SAT
  • accessory: Saturn Twin Stick
  • documented: