Iterador de lista
O iterador de lista permite percorrer os elementos de uma lista. Os elementos podem ser palavras, números ou pequenos trechos de texto. Ele é chamado na forma de um critério lista
do loop DATA
, ao qual se passa a lista de elementos que devem ser percorridos:
Este loop apresenta uma lista dos primeiros números primos:
<ul>
<BOUCLE_primos(DATA){liste 2, 3, 5, 7, 11, 13}>
<li>#VALEUR</li>
</BOUCLE_primos>
</ul>
É possível usar todos os crtérios comuns a todos os loops.
Especificar o separador:
<BOUCLE_mes(DATA){liste janeiro, fevereiro, março, abril}{"; "}>
#VALEUR ([(#VALEUR|couper{3})])
</BOUCLE_mes>
Exibirá: janeiro (jan); fevereiro (fev); março (mar); abril (abr)
Inverter a ordem de percurso do loop:
<BOUCLE_mes(DATA){liste 1, 10, 100, 1000}{", "}{inverse #ENV{inverso}}>
#VALEUR
</BOUCLE_mes>
Produzirá: "1, 10, 100, 100, 1000" ou "1000, 100, 10, 1" de acordo com o valor de ’inverso’ no ambiente.
Fazer loop em um subconjunto da lista:
<BOUCLE_mes(DATA){liste janeiro, fevereiro, março, abril, maio, junho, julho}{", "}{3,2}>
#VALEUR
</BOUCLE_mes>
saltará 3 meses e exibirá 2, ou seja: "abril, maio".
Os valores dos marcadores podem ser calculados:
<BOUCLE_cores(DATA){liste #GET{corpreferida}, #ENV{corescolhida}}{", "}>
#VALEUR
</BOUCLE_cores>
Iterador enumeração
O iterador de enumeração é um loop muito simples.
O seu uso mais geral é na forma
<BOUCLE_enumere(DATA){enum val1, val2}>
#VALEUR
</BOUCLE_enumere>
ou
<BOUCLE_enumere(DATA){enum val1, val2, passo}>
#VALEUR
</BOUCLE_enumere>
val1
e val2
são 2 valores numéricos, ou 2 caratéres. O SPIP determinará qual dos dois valores é o mais pequeno, este loop irá enumerar os valores entre val1
e val2
. Na primeira forma, o passo não é especificado: o seu valor é 1 por padrão.
Inteiros, passo de 1:
<BOUCLE_enum(DATA){enum 10,15}{", "}>#VALEUR</BOUCLE_enum>
Faz um loop nos valores, começando em 10 e parando em 15, devolvendo portanto "10, 11, 12, 13, 14, 15".
Decimais, passo de 1:
<BOUCLE_enum(DATA){enum 15.5,10.3}{", "}>#VALEUR</BOUCLE_enum>
Faz loop nos valore, começando em 15 e parando antes de 10, devolvendo portanto "15.5, 14.5, 13.5, 12.5, 11.5, 10.5".
Inteiros, passo de 2:
<BOUCLE_enum(DATA){enum 10, 15, 2}{", "}>#VALEUR</BOUCLE_enum>
Faz loop nos valores de 10 a 15, com um passo de 2, devolvendo portanto "10, 12, 14".
Letras:
<BOUCLE_enum(DATA){enum g,m}{", "}>#VALEUR</BOUCLE_enum>
Faz um loop nos caratéres de "g" até "m", devolvendo portanto "g, h, i, j, k, l, m".