Plantilla:Bucle for

De Wikipedia, la enciclopedia libre
Ir a la navegación Ir a la búsqueda


Icono de documentación de plantilla Documentación de la plantilla[ver] [editar] [historial] [purgar]


Plantilla:Bucle for implementa un bucle foreach.

Esta plantilla invoca a otra plantilla especificada, una vez por cada uno de los ítems de una lista de valores. Un parámetro con nombre se pasa con el valor de una lista de las actuales iteraciones con un posible prefijo o sufijo añadido. Adicionalmente al parámetro variable, se pueden especificar parámetros fijos para ser pasados en cada iteración. El primer parámetro sin nombre es enviado entre llamadas a una plantilla especificada por el usuario.


Uso

{{Bucle for|<!-- separador, se conservan los espacios en blanco -->|
    call    = plantilla a ser llamada
  | pc1n    = nombre del 1er parámetro estático para ser pasado a la plantilla llamada
  | pc1v    = valor del 1er parámetro estático para ser pasado a la plantilla llamada
  | pc2n    = del 2do parámetro estático para ser pasado a la plantilla llamada
  | pc2v    = valor del 2do parámetro estático para ser pasado a la plantilla llamada
  | pc3n    = nombre del 3er parámetro estático para ser pasado a la plantilla llamada
  | pc3v    = valor del 1er parámetro estático para ser pasado a la plantilla llamada
<!-- Se pueden insertar tantos parámetros fijos para ser pasados a la plantilla llamada como sean necesarios -->
  | pv      = nombre del parámetro utilizado para ser pasado a la plantilla invocada a la cual se
                asigna los valores de la variable con el prefijo y sufijo añadidos.
  | prefix  = prefijo estático añadido a cada uno de los valores de la variable
  | postfix = sufijo estático añadido a cada uno de los valores de la variable
  | lista de los valores de la variable con el separador "|", los espacios en blanco se eliminan
     (los valores de parámetros vacíos funcionan en la forma usual, no son ignorados como los indefinidos)
}}

Se utiliza como separador el primer parámetro sin nombre, permitiendo comenzar y/o terminar con saltos de línea y espacios. El separador sale "entre" las llamadas a la plantilla invocada en |call=. No sale después de la última llamada a la plantilla. El valor del separador va antes que la lista de valores. Si algún valor en la lista contien un signo igual, utilice {{=}}. Si no hace uso de {{=}}, la lista tiene que utilizar parámetros con nombre, al menos a partir de ese punto. Si usted hace uso de parámetros con nombre, note que el primer valor es el parámetro 2 (p. ej. |2=El1erValorDeSuLista), porque el parámetro 1 es el correspondiente al separador. Si el separador contiene un signo igual, también debería utilizarse {{=}}. Alternativamente, el separador puede ser prefijado con "1=", pero en ese caso, no puede contener saltos de línea ni espacios al principio ni al final. Además, si usted hace uso de parámetros con nombre, no debe saltarse ningún número, porque el bucle finalizará luego del primer parámetro numerado ausente. (Nótese que los parámetros pueden estar en blanco, pero no ausentes; los parámetros en blanco se leen en la forma usual.)

Ejemplos

Código Resultado
1{{Bucle for|, 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=Rojo
}}
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, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199

Nótese que la última parte del separador se utiliza como prefijo; el primer prefijo tiene que ser colocado separadamente



{{bucle for|-|a|3||c|g|call=Enlazado}} utilizando {{Verde}} produce

a-3--c-g

{{bucle for|

|a|3||c|g|call=Verde}} produce

a

3

c

g

{|class="wikitable sortable"
|-
!Test
|-
| {{bucle for|
{{!}}-
{{!}} |a|b|c|d|e|call=Enlazado}}
|}

produce:

Ensayo
a
b
c
d
e
{{bucle for| |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=Enlazado}}

produce:

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

comienzo->{{bucle for|{{=}} |01|02|03|04|05|06|07|08|09|10
|11{{=}}{{=}}{{=}}|12|13|14|15|16|17|18|19|call=Rojo}}<-final

gives:

comienzo->01= 02= 03= 04= 05= 06= 07= 08= 09= 10= 11==== 12= 13= 14= 15= 16= 17= 18= 19<-final

Código heredado

Esa plantilla está derivada de la tercera versión de la plantilla equivalente en la wikipedia en inglés. Actualmente utiliza código Lua ubicado en el Módulo:ForLoop. Fue portado a Lua desde las funciones Párser.

Las antiguas versiones se encontraban limitadas a una lista de 150 valores de variables y cuatro parámetros fijos. Actualmente no existen límites. Además en la primera versión, el parámetro "sep" no permitía los espacios en blanco como separadores. Esto fue corregido en la segunda versión, y se mantuvo en la actual.
Esta documentación está transcluida desde Plantilla:Bucle for/doc.
Los editores pueden experimentar en la zona de pruebas (crear) y en los casos de prueba (crear) de la plantilla.
Por favor, añade las categorías en la subpágina de documentación. Subpáginas de esta plantilla.