Difference between revisions of "Foreach"

From Sega Retro

 
(5 intermediate revisions by 2 users 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]]
 +
A template for iterating through a list and doing something to each item.
 +
 
 +
==Examples==
 +
<pre>
 +
{{foreach
 +
|list=Whoop, gloop, bloop, doop, shoop
 +
|delimiter=,
 +
|template=Test2
 
}}
 
}}
<noinclude>[[Category:Sega Retro templates]]
+
</pre>
{{foreach|list=Whoop, gloop, bloop, doop, shoop|delimiter=,|
+
Produces:
<br/>
+
 
*[value]
+
{{foreach
 +
|list=Whoop, gloop, bloop, doop, shoop
 +
|delimiter=,
 +
|template=Test2
 +
}}
 +
----
 +
----
 +
<pre>
 +
{{foreach
 +
|list=[[Mega Drive]]-[[Master System]]-[[Saturn]]-[[Dreamcast]]
 +
|delimiter=-
 +
|template=Test2
 +
}}
 +
</pre>
 +
Produces:
 +
 
 +
{{foreach
 +
|list=[[Mega Drive]]-[[Master System]]-[[Saturn]]-[[Dreamcast]]
 +
|delimiter=-
 +
|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 08: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: