Vorlage:For loop/doc: Unterschied zwischen den Versionen

Aus OBS Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „Humano iremos direto ao objecto. Por fim se companheiro chegou aqui é porque já tem colocação formada e sabiamente nunca está interessado em discutir a re…“)
 
K (1 Version importiert)
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 1: Zeile 1:
Humano iremos direto ao objecto. Por fim se companheiro chegou aqui é porque já tem colocação formada e sabiamente nunca está interessado em discutir a respeito de antigos preconceitos alusivo [http://casaraomondo.com/guia-de-compras-o-melhor-barbeador-eletrico/ melhor barbeador eletrico da philips] a depilação. E por discursar em lâminas, as mesmas oferecem uno maior alcance e proporcionam movimentos mais precisos, com uno barbear rés e confortável. Fabricado em metal e plástico, ele também se destaca pela relutância. Jamais abra mão deste produto em seu banheiro !<br><br>sistema de lâminas GentlePrecision corta os pelos mais curtos, graças aos seus orifícios, e os pelos mais compridos, graças às suas ranhuras. As lâminas possuem ainda a tecnologia Super Lift & Cut, um processo de lâmina dupla que permite soerguer os pelos para os fender ainda mais rentes, de forma confortável.<br><br>Apesar dessa garota desvantagem, os homens que preferem os aparelhos com lâmina rotativa têm uma extenso ensejo para testar a máquina. barbeador Philips pode ser testado por 90 dias. Você pode entregar e arrecadar moeda de redor acontecimento jamais tenha produto prometido pela marca.<br><br>Uma turno que tenha aparado a quantidade ideal de pelos pubianos do seu júbilo, enxágue a escuma de barbear ou gel e lave a espaço com uno sabonete sossegado. Depois enxágue novamente e seque com uma toalha limpa. Use movimentos suaves para ressequir a área, já que esfregar pode fomentar irritação.<br><br>Escolher seu barbeador elétrico é mais veloz do que uma navalha ou lâmina de barbear costumeiro. Na maior parcela das vezes, você não precisa de chuva ou gel ou sequer estar no banheiro para executar a barba. Além disso, você pode levar único barbeador em sua bagagem de mão e alguns inválido permanecer carregada por até quinze dias, temporada suficiente para umas férias ou peregrinação de trabalhos sem pelos.<br><br>Resenha: ter um barbeador elétrico facilita bastante a bibiografia do varão pois é eficiente e economiza tempo. Produz melhores resultados e praticamente acaba com os cortes que facilmente acontecem no barbear com único aparelhamento generalidade. Pode ser facilmente conduzido e até utilizado durante dia entre único compromisso e outro no trabalho. Com a alternativa de usar um barbeador elétrico no chuveiro se barbear ficou ainda mais fácil.
{{Documentation subpage}}
{{high-use|35,000}}
<!-- Please add categories at the bottom of this page, and interwikis at Wikidata (see Wikipedia:Wikidata) -->
 
{{lua|Module:For loop}}
This template implements a [[for loop]] or a [[foreach loop]].
 
This template calls a user-specified template (the "called template") multiple times: once for each value in either 1) an iterated sequence or 2) an explicit list. Each value in the sequence or list is passed to the same specified parameter of the called template (the "variable parameter"). Optionally, pre- and postfixes can be attached to the passed values.
 
In addition to the specified variable parameter, other parameters of the called template ("static parameters") can be given a value which is the same in each iteration.
 
== Usage ==
{| class="wikitable"
! Group !! Parameter !! Meaning !! Default value
|-
! scope=row rowspan=3 | Mandatory
| '''1 (unnamed)''' || separator to output between calls (may be blank; whitespace is preserved) ||
|-
| '''call''' || template to call ||
|-
| '''pv''' || name (or number) of the variable parameter of the called template || style="text-align: center" | 1
|- style="border-top: 3px solid grey;"
! scope=row rowspan=3 | Option 1:<br/>iterated sequence
| '''start''' || first numeric value to pass to variable parameter || style="text-align: center" | 1
|-
| '''stop''' || maximum numeric value for variable parameter ||
|-
| '''by''' || iteration step size between values passed to variable parameter || style="text-align: center" | 1
|- style="border-top: 3px solid grey;"
! scope=row rowspan=2 | Option 2:<br/>explicit values
|  '''(unnamed parameters)''' || | explicit values, given as separate parameters (whitespace is stripped) ||
|-
| '''skipBlanks''' || set to "true" to skip empty parameter values || style="text-align: center" | false
|- style="border-top: 3px solid grey;"
! scope=row rowspan=5 | Other optional<br/>parameters
| '''pc[N]n''' || name (or number) of the Nth static parameter of the called template ||
|-
| '''pc[N]v''' || value for the Nth static parameter of the called template ||
|-
| '''prefix''' || static prefix prepended to each value passed to the variable parameter ||
|-
| '''postfix''' || static postfix appended to each value passed to the variable parameter ||
|-
| '''substall''' || set to "false" to not substitute the called template when {{tl|for loop}} is substituted || style="text-align: center" | true
|}
 
''Either'' option 1 (iteration parameters) ''or'' option 2 (an explicit list of values) may be used, but not both.
 
The first unnamed parameter, prior to any explicit values, is a separator. The separator is a string that is output ''between'' calls to the template named in <code>|call=</code>. It is not output after the last call.
 
=== Caution ===
*The separator can be prefixed with "1=", but in that case it cannot contain newlines and spaces at the start and end.
*If any parameter value contains an equals sign, use {{tlx|{{=}}}} (see [[Help:Template#Usage hints and workarounds|Template Usage hints and workarounds]]).
*If you use numbered parameters, note that the first value is parameter 2 (e.g. <code>|2=Your1stValue</code>), because parameter 1 is the separator.
*If you use numbered parameters, you must not skip any numbers. The loop will terminate after the first absent numbered parameter. (Parameters can be blank, but not absent.)
 
=== Substitution ===
The current Lua-based template supports [[WP:SUBST|substitution]]. If {{para|substall|no}} is not specified, then substituting the template will substitute everything, including the call to the template passed in {{para|call}}. If it is specified, then the template substitutes into a sequence of calls to the template specified.
 
Example: {{tlxs|for loop|sep |01|02|03|04|05|06|07|call{{=}}1x}} -> <code><nowiki>01sep 02sep 03sep 04sep 05sep 06sep 07</nowiki></code>, {{tlxs|for loop|sep |01|02|03|04|05|06|07|call={{1x}}|substall{{=}}no}} -> <code><nowiki>{{1x|01}}sep {{1x|02}}sep {{1x|03}}sep {{1x|04}}sep {{1x|05}}sep {{1x|06}}sep {{1x|07}}</nowiki></code>
 
For full substitution [[Special:ExpandTemplates]] can also be used.
 
== Examples ==
{| class="wikitable", border=1
!Form
!Code
!Explanation
!Result
|-
! scope=row | Iterator
|
<pre>{{for loop|&|call = spanbox
  |pv = font size
  |start=10|stop=52|by=8
  |postfix = px
  |pc1n = 1
  |pc1v = A
  |pc2n = background
  |pc2v = yellow
}}</pre>
| Call the template "spanbox" with values:
*font size = "[N]px", where N takes values starting with 10 and increasing by 8 while remaining less than or equal to 52
*1 (first unnamed parameter) = "A"
*background = "yellow"
Separating outputs with "&"
|{{for loop|&|call = spanbox
  |pv = font size
  |start=10|stop=52|by=8
  |postfix = px
  |pc1n = 1
  |pc1v = A
  |pc2n = background
  |pc2v = yellow
}}
|-
! scope=row | Explicit values
|<pre>{{for loop|, |call=1x
|prefix=1
|00|01|02|03|04|05|06|07|08|09
|10|11|12|13|14|15|16|17|18|19
|20|21|22|23|24|25|26|27|28|29
|30|31|32|33|34|35|36|37|38|39
|40|41|42|43|44|45|46|47|48|49
|50|51|52|53|54|55|56|57|58|59
|60|61|62|63|64|65|66|67|68|69
|70|71|72|73|74|75|76|77|78|79
|80|81|82|83|84|85|86|87|88|89
|90|91|92|93|94|95|96|97|98|99
}}</pre>
| Call the template "1x" with values "1[NN]", where NN = "00" through "99" (given explicitly), separating the outputs with the string ", "
|{{for loop|, |call=1x
|prefix=1
|00|01|02|03|04|05|06|07|08|09
|10|11|12|13|14|15|16|17|18|19
|20|21|22|23|24|25|26|27|28|29
|30|31|32|33|34|35|36|37|38|39
|40|41|42|43|44|45|46|47|48|49
|50|51|52|53|54|55|56|57|58|59
|60|61|62|63|64|65|66|67|68|69
|70|71|72|73|74|75|76|77|78|79
|80|81|82|83|84|85|86|87|88|89
|90|91|92|93|94|95|96|97|98|99
}}
|}
 
=== Other examples with explicit values ===
<code><nowiki>{{for loop|-|a|3||c|g|call=3x}}</nowiki></code> using {{tiw|3x}} gives
 
{{for loop|-|a|3||c|g|call=3x}}
 
<code><nowiki>{{for loop|</nowiki></code>
 
<code><nowiki>|a|3||c|g|call=3x}}</nowiki></code> gives
 
{{for loop|
 
|a|3||c|g|call=3x}}
 
<pre>
{|class="wikitable sortable"
|-
!Test
|-
| {{for loop|
{{!}}-
{{!}} |a|b|c|d|e|call=3x}}
|}
</pre>
 
gives:
 
{|class="wikitable sortable"
|-
!Test
|-
| {{for loop|
{{!}}-
{{!}} |a|b|c|d|e|call=3x}}
|}
 
<pre>
{{for loop| |01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19
|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39
|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59
|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79
|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99
|100|101|102|103|104|105|106|107|108|109|110|111|112|113|114|115|116|117|118|119
|120|121|122|123|124|125|126|127|128|129|130|131|132|133|134|135|136|137|138|139
|140|141|142|143|144|145|146|147|148|149|150|151|152|153|154|call=1x}}
</pre>
gives:
 
{{for loop| |01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19
|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39
|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59
|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79
|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99
|100|101|102|103|104|105|106|107|108|109|110|111|112|113|114|115|116|117|118|119
|120|121|122|123|124|125|126|127|128|129|130|131|132|133|134|135|136|137|138|139
|140|141|142|143|144|145|146|147|148|149|150|151|152|153|154|call=1x}}
 
<pre>
begin->{{for loop|{{=}} |01|02|03|04|05|06|07|08|09|10
|11{{=}}{{=}}{{=}}|12|13|14|15|16|17|18|19|call=1x}}<-end
</pre>
gives:
 
begin->{{for loop|{{=}} |01|02|03|04|05|06|07|08|09|10
|11{{=}}{{=}}{{=}}|12|13|14|15|16|17|18|19|call=1x}}<-end
 
== Notes about legacy code ==
This template is currently in its third incarnation. It now uses the [[WP:Lua|Lua]] code at [[Module:For loop]]. It was ported to Lua from [[mw:Help:Extension:ParserFunctions|ParserFunctions]]. There was also a previous version with a named "sep" parameter to specify the separator value. The template was originally based on [[m:Template:For|Template:For on meta]]. The template name was changed because there was already a [[Template:For|Template:For on Wikipedia]].
 
The old versions were limited to 150 variable values and four fixed parameters. There are no such limits in the current version. Also, in the first version the "sep" parameter didn't allow whitespace in the separator value. This was fixed with the second version and was retained in the current version.
 
== See also ==
*[[mw:Template:Fe]]
*[[mw:Template:foreach]]
*{{tim|tblb}}
*{{tiw|for nowiki}}
*{{tiw|item}}
*{{tiw|loop}}
*{{tiw|simple recursion}}
*[[Help:Parameter default]]
*[[Help:Array]]
*[[mw:Extension:LoopFunctions]]
 
<includeonly>{{sandbox other||
<!-- Add categories below this line, and interwikis at Wikidata -->
[[Category:Wikipedia formatting and function templates]]
}}</includeonly>

Aktuelle Version vom 16. März 2022, 07:38 Uhr

Skriptfehler: Ein solches Modul „Message box“ ist nicht vorhanden. Vorlage:High-use

Vorlage:Lua This template implements a for loop or a foreach loop.

This template calls a user-specified template (the "called template") multiple times: once for each value in either 1) an iterated sequence or 2) an explicit list. Each value in the sequence or list is passed to the same specified parameter of the called template (the "variable parameter"). Optionally, pre- and postfixes can be attached to the passed values.

In addition to the specified variable parameter, other parameters of the called template ("static parameters") can be given a value which is the same in each iteration.

Usage

Group Parameter Meaning Default value
Mandatory 1 (unnamed) separator to output between calls (may be blank; whitespace is preserved)
call template to call
pv name (or number) of the variable parameter of the called template 1
Option 1:
iterated sequence
start first numeric value to pass to variable parameter 1
stop maximum numeric value for variable parameter
by iteration step size between values passed to variable parameter 1
Option 2:
explicit values
(unnamed parameters) explicit values, given as separate parameters (whitespace is stripped)
skipBlanks set to "true" to skip empty parameter values false
Other optional
parameters
pc[N]n name (or number) of the Nth static parameter of the called template
pc[N]v value for the Nth static parameter of the called template
prefix static prefix prepended to each value passed to the variable parameter
postfix static postfix appended to each value passed to the variable parameter
substall set to "false" to not substitute the called template when
  1. REDIRECT Template:Template link

Vorlage:Redirect category shell is substituted || style="text-align: center" | true

Either option 1 (iteration parameters) or option 2 (an explicit list of values) may be used, but not both.

The first unnamed parameter, prior to any explicit values, is a separator. The separator is a string that is output between calls to the template named in |call=. It is not output after the last call.

Caution

  • The separator can be prefixed with "1=", but in that case it cannot contain newlines and spaces at the start and end.
  • If any parameter value contains an equals sign, use Vorlage:Tlx (see Template Usage hints and workarounds).
  • If you use numbered parameters, note that the first value is parameter 2 (e.g. |2=Your1stValue), because parameter 1 is the separator.
  • If you use numbered parameters, you must not skip any numbers. The loop will terminate after the first absent numbered parameter. (Parameters can be blank, but not absent.)

Substitution

The current Lua-based template supports substitution. If |substall=no is not specified, then substituting the template will substitute everything, including the call to the template passed in |call=. If it is specified, then the template substitutes into a sequence of calls to the template specified.

Example: Vorlage:Tlxs -> 01sep 02sep 03sep 04sep 05sep 06sep 07, Vorlage:Tlxs -> {{1x|01}}sep {{1x|02}}sep {{1x|03}}sep {{1x|04}}sep {{1x|05}}sep {{1x|06}}sep {{1x|07}}

For full substitution Special:ExpandTemplates can also be used.

Examples

Form Code Explanation Result
Iterator
{{for loop|&|call = spanbox
  |pv = font size
  |start=10|stop=52|by=8
  |postfix = px
  |pc1n = 1
  |pc1v = A
  |pc2n = background
  |pc2v = yellow
}}
Call the template "spanbox" with values:
  • font size = "[N]px", where N takes values starting with 10 and increasing by 8 while remaining less than or equal to 52
  • 1 (first unnamed parameter) = "A"
  • background = "yellow"

Separating outputs with "&"

Skriptfehler: Ein solches Modul „For loop“ ist nicht vorhanden.
Explicit values
{{for loop|, |call=1x
|prefix=1
|00|01|02|03|04|05|06|07|08|09
|10|11|12|13|14|15|16|17|18|19
|20|21|22|23|24|25|26|27|28|29
|30|31|32|33|34|35|36|37|38|39
|40|41|42|43|44|45|46|47|48|49
|50|51|52|53|54|55|56|57|58|59
|60|61|62|63|64|65|66|67|68|69
|70|71|72|73|74|75|76|77|78|79
|80|81|82|83|84|85|86|87|88|89
|90|91|92|93|94|95|96|97|98|99
}}
Call the template "1x" with values "1[NN]", where NN = "00" through "99" (given explicitly), separating the outputs with the string ", " Skriptfehler: Ein solches Modul „For loop“ ist nicht vorhanden.

Other examples with explicit values

{{for loop|-|a|3||c|g|call=3x}} using Template:3x (backlinks edit) gives

Skriptfehler: Ein solches Modul „For loop“ ist nicht vorhanden.

{{for loop|

|a|3||c|g|call=3x}} gives

Skriptfehler: Ein solches Modul „For loop“ ist nicht vorhanden.

{|class="wikitable sortable"
|-
!Test
|-
| {{for loop|
{{!}}-
{{!}} |a|b|c|d|e|call=3x}}
|}

gives:

Test
Skriptfehler: Ein solches Modul „For loop“ ist nicht vorhanden.
{{for loop| |01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19
|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39
|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59
|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79
|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99
|100|101|102|103|104|105|106|107|108|109|110|111|112|113|114|115|116|117|118|119
|120|121|122|123|124|125|126|127|128|129|130|131|132|133|134|135|136|137|138|139
|140|141|142|143|144|145|146|147|148|149|150|151|152|153|154|call=1x}}

gives:

Skriptfehler: Ein solches Modul „For loop“ ist nicht vorhanden.

begin->{{for loop|{{=}} |01|02|03|04|05|06|07|08|09|10
|11{{=}}{{=}}{{=}}|12|13|14|15|16|17|18|19|call=1x}}<-end

gives:

begin->Skriptfehler: Ein solches Modul „For loop“ ist nicht vorhanden.<-end

Notes about legacy code

This template is currently in its third incarnation. It now uses the Lua code at Module:For loop. It was ported to Lua from ParserFunctions. There was also a previous version with a named "sep" parameter to specify the separator value. The template was originally based on Template:For on meta. The template name was changed because there was already a Template:For on Wikipedia.

The old versions were limited to 150 variable values and four fixed parameters. There are no such limits in the current version. Also, in the first version the "sep" parameter didn't allow whitespace in the separator value. This was fixed with the second version and was retained in the current version.

See also