Template:For nowiki/doc: Difference between revisions

From the Croc Wiki, the Croc encyclopedia
Jump to navigationJump to search
(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