Template:For nowiki/doc: Difference between revisions

From the Croc Wiki, the Croc encyclopedia
Jump to navigationJump to search
Content added Content deleted
(Expanded document to include the module)
(Move warning to own template)
 
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Documentation subpage}}
{{Documentation subpage}}
{{warning nowiki broken}}
{{#ifeq:{{NAMESPACENUMBER}}|10|{{lua|Module:For nowiki}}|}}
{{lua|Module:For nowiki}}


This is the documentation for [[Template:For nowiki]] and [[Module:For nowiki]]. This module or template implements a [[foreach loop]]. It interprets a given wikitext (unlike {{tl|For loop}}, which calls a specified template) once for each item in the list.
This template implements a [[foreach loop]]. It interprets a given wikitext (unlike {{tl|For loop}}, which calls a specified template) once for each item in the list.


== Usage ==
== Usage ==
{{tlp|For nowiki|''separator''|{{tag|nowiki|content=''wikitext''}}|''item1''|''item2''|...}}
{{tlp|For nowiki|''separator''|{{tag|nowiki|content=''wikitext''}}|item1|item2|...}}
{{tlp|For nowiki|''separator''|{{tag|nowiki|content=''wikitext''}}|count{{=}}''count''}}
{{tlp|For nowiki|''separator''|{{tag|nowiki|content=''wikitext''}}|count{{=}}''count''}}
{{((}}#invoke:For nowiki|template|''separator''|{{tag|nowiki|content=''wikitext''}}|''force one loop''}}

;General parameters
* <code>''separator''</code> is inserted ''between'' the results of <code>''wikitext''</code> interpretation. Whitespace is preserved.
* <code>''separator''</code> is inserted ''between'' the results of <code>''wikitext''</code> interpretation. Whitespace is preserved.
* <code>''wikitext''</code> is interpreted once for each item in the list. It then may use {{code|<nowiki>{{{1}}}</nowiki>}} to get the item value, and {{code|<nowiki>{{{i}}}</nowiki>}} to get its position in the list (starting from 1), as well as any parameters that were passed to {{tl|for nowiki}}. It may also contain template calls. To use a parameter passed to the calling template, surround it with {{nowrap|<code></nowiki>...<no<!---->wiki></code>}} (the opening and closing tags are swapped) or pass the parameter directly to {{tl|for nowiki}} if its name doesn't conflict with any reserved parameters.
* <code>''wikitext''</code> is interpreted once for each item in the list. It then may use {{code|<nowiki>{{{1}}}</nowiki>}} to get the item value, and {{code|<nowiki>{{{i}}}</nowiki>}} to get its position in the list (starting from 1), as well as any parameters that were passed to {{tl|for nowiki}}. It may also contain template calls. To use a parameter passed to the calling template, surround it with {{nowrap|<code></nowiki>...<no<!---->wiki></code>}} (the opening and closing tags are swapped) or pass the parameter directly to {{tl|for nowiki}} if its name doesn't conflict with any reserved parameters.


=== Count form ===
;Use 1 specific
The second form of this template using a {{para|count}} parameter interprets the given wikitext <code>count</code> times, passing each integer between 1 and that <code>count</code> as both {{para|1}} and {{para|i}} each time. By default, iteration starts from 1. Use parameter {{para|start|<var>number</var>}} to start from a different number. Then the iteration will go from <code>start</code> to <code>start+count-1</code>.
* <code>''item1''</code>, <code>''item2''</code>, <code>''...''</code> are the items to iterate through, with {{code|<nowiki>{{{1}}}</nowiki>}} being replaced with the value and {{code|<nowiki>{{{i}}}</nowiki>}} with the name of the parameter/index.

;Use 2 specific
* <code>count=''count''</code> is the number of times to interpret the provided wikitext. The template will pass each integer between 1 and that count as both {{para|1}} and {{para|i}} each time.

;Use 3 specific
* <code>''force one loop''</code> forces the module to perform at least one loop, this is useful when you provide a default value for {{code|<nowiki>{{{1}}}</nowiki>}}.

* When using the module, numbered/unnamed parameters sent to the template (the page the module is used on) will be iterated through, with {{code|<nowiki>{{{1}}}</nowiki>}} being replaced with the value and {{code|<nowiki>{{{i}}}</nowiki>}} with the name of the parameter/index.


== Example ==
== Example ==
{{Markup
{{Markup
|<nowiki>{{For nowiki|
|<nowiki>{{For nowiki|
|<nowiki>* Item {{{i}}}: {{3x|{{{1}}} }}</nowiki>&lt;/nowiki> <nowiki>|dog|cat|bird}}</nowiki>
|</nowiki>&lt;<nowiki>nowiki>* Item {{{i}}}: {{3x|{{{1}}} }}</nowiki>&lt;/nowiki><nowiki>|dog|cat|bird}}</nowiki>
|{{For nowiki|
|<nowiki>* Item {{{i}}}: {{3x|{{{1}}} }}</nowiki>|dog|cat|bird}}
|<nowiki>{{For nowiki|
|</nowiki>&lt;<nowiki>nowiki># [[:Category:{{{1}}} in spaceflight]]</nowiki>&lt;/nowiki><nowiki>|count=9|start=1961}}</nowiki>
|{{For nowiki|
|{{For nowiki|
|<nowiki>* Item {{{i}}}: {{3x|{{{1}}} }}</nowiki> |dog|cat|bird}}
|<nowiki># [[:Category:{{{1}}} in spaceflight]]</nowiki>|count=9|start=1961}}
}}
}}



Latest revision as of 23:13, June 29, 2021

Template:Warning nowiki broken

This template implements a foreach loop. It interprets a given wikitext (unlike {{For loop}}, which calls a specified template) once for each item in the list.

Usage

Template:Tlp
Template:Tlp
  • separator is inserted between the results of wikitext interpretation. Whitespace is preserved.
  • wikitext is interpreted once for each item in the list. It then may use {{{1}}} to get the item value, and {{{i}}} to get its position in the list (starting from 1), as well as any parameters that were passed to {{for nowiki}}. It may also contain template calls. To use a parameter passed to the calling template, surround it with </nowiki>...<nowiki> (the opening and closing tags are swapped) or pass the parameter directly to {{for nowiki}} if its name doesn't conflict with any reserved parameters.

Count form

The second form of this template using a |count= parameter interprets the given wikitext count times, passing each integer between 1 and that count as both |1= and |i= each time. By default, iteration starts from 1. Use parameter |start=number to start from a different number. Then the iteration will go from start to start+count-1.

Example

Template:Markup

See also