Template:A/Y
This template is being considered for deletion in accordance with Uncyclopedia's deletion policy
This template may not fit in Uncyclopedia, or may not be funny with little chance for redemption. Please share your thoughts on the matter at this template's entry on the Votes for deletion page. |
If you want to understand how wiki templates actually work, see MediaWiki's help page or Wikipedia's help page on wiki templates. |
{{#switch: {{Get}} |0=Apple |1=Pear |2=Orange }}
- This is just an example, so if you wanted it to output 'Orange' you'd make a link like {{Goto|2|Oranges are great}} (and the 'Oranges are great' part is just text) or something, and then it'd output 'Orange' because you set the input value to 2 using the Goto template. Just look at the source for this page and it should explain it I think.
Apple
#while
{{#while}} performs a loop (i.e. it repeatedly parses a given wiki markup block statement) so long as the condition mark-up evaluates to non-whitespace.
{{ #while: | <condition text> | <block statement> }}
- Examples
Note: The following examples use the VariablesExtension.
The wiki markup:
{{ #vardefine: i | 0 }}{{ #while: | {{ #ifexpr: {{ #var: i }} < 5 | true }} |<nowiki/> * {{ #var: i }}{{ #vardefine: i | {{ #expr: {{ #var: i }} + 1 }} }} }}
produces the following:
- 0
- 1
- 2
- 3
- 4
{{#while}} can also be used in a template to simulate a numbered array. If the page "Template:Loops Test" contains
{{ #vardefine: i | 0 }}{{ #while: | {{{ arg{{#var: i }} |}}} |<nowiki/> * {{{ arg{{#var: i }} }}}{{ #vardefine: i | {{ #expr: {{ #var: i }} + 1 }} }} }}
then the wiki-markup
{{Loops Test |arg0=zero |arg1=one |arg2=two |arg3=three |arg4=four }}
produces
- zero
- one
- two
- three
- four
It's important to note that whitespace, including newlines, tabs, and spaces, is stripped from the beginning and end of all the arguments of these parser functions. If this is not desirable, adding any non-whitespace characters (including the HTML encoding for a whitespace character  ) will prevent further stripping (hence the <nowiki/> tags in the above examples).
#dowhile
{{#dowhile}} performs exactly like {{#while}}, with the exception that the block statement is guaranteed to be parsed and displayed (if it results in displayable text) at least once. This is done before the condition text is evaluated.
#loop
{{ #loop: <variable name> | <starting value> | <number of loops to be performed> | <wiki markup> }}
{{#loop}} repeatedly parses and displays <wiki markup> a number of times equal to the absolute value of <number of loops to be performed>. <Starting value> is placed in a variable (accessible by VariablesExtension's {{#var:}} parser function) using the name <variable name>. After each loop, the variable is incremented by one if <number of loops to be performed> is positive, or decremented by one if <number of loops to be performed> is negative.
Note: From all loop functions, #loop
should have the best performance since there is no condition which has to be expanded and validated for each cycle.
- Examples
The following code:
{{#loop: varname | 4 | 4 | <nowiki/> * This is round {{#var:varname}} and we have {{#expr: 7- {{#var:varname}}}} more to go }}
produces
- This is round 4 and we have 3 more to go
- This is round 5 and we have 2 more to go
- This is round 6 and we have 1 more to go
- This is round 7 and we have 0 more to go