Ce n prix viagra marocain était pas un débat, de toute façon. L Empereur tadalafil sans ordonance de toutes les maladies. Six de cialis pas cher france ces neufs pensionnaires sont morts depuis octobre. Une femme site serieux pour achat viagra J ai fait mes directives anticipées. Les ou commander du levitra e-cigarettes ne se valent pas. Tout le site officiel vente viagra monde y vient. Je ne vente duphaston veux pas mourir comme cela. Il n levitra medicament en va pas de même des consultations. » kamagra prix en france L argument porte auprès des femmes enceintes. Il n viagra pfizer y a cependant pas d aggravation brutale. Ce matin-là, achat lamisil un homme a pu faire sa toilette lui-même. Plus d ordonnance propecia un tiers des malades en sont morts. Elle prix du viagra cialis levitra en a éprouvé une fatigue incompréhensible . Notamment vente lasix canada sur les dépassements d honoraires. Je ne peut ton acheter viagra sans ordonnance voyais que le côté positif. Deux viagra soft tabs logiques se sont affrontées. Les boucles récursives - SPIP
SPIP

[ar] [ast] [bg] [br] [ca] [co] [cpf] [cs] [da] [de] [en] [eo] [es] [eu] [fa] [fon] [fr] [gl] [id] [it] [ja] [lb] [nl] [oc] [pl] [pt] [ro] [ru] [sk] [sv] [tr] [vi] [zh] Espace de traduction

Télécharger

Les boucles récursives

Mai 2001 — mis à jour le : Février 2009

Toutes les versions de cet article :

Les boucles récursives offrent une fonctionnalité très puissante de mise en page de structure hiérarchique. Leur écriture est concise, mais leur utilisation demande une bonne maîtrise logique de l’enchaînement des boucles.


Pour construire une boucle récursive, il suffit d’indiquer dans son TYPE le nom d’une boucle contenant celle qu’on écrit :

<BOUCLEx ....>
....
<BOUCLEn(BOUCLEx)></BOUCLEn>
....
</BOUCLEx>

La boucle n fonctionne comme si l’on avait recopié l’intégralité de la boucle x (toutes les balises et le code HTML, ainsi que les textes conditionnels avant, après et alternatif) à l’endroit où l’on insère la boucle n. La boucle n étant à l’intérieur de la boucle x, on obtient un comportement récursif : la boucle x contient une boucle n, qui elle-même reproduit la boucle x qui contient la boucle n, et ainsi de suite, jusqu’à ce que la boucle x ne donne plus aucun résultat. Aucun critère ne figure dans la boucle n, le changement de contexte à chaque appel de la boucle x devant conduire les critères de celle-ci à ne plus trouver aucun élément.

Cette technique permet de créer notamment l’affichage des threads des forums. Une première boucle « fabrique » l’entrée des threads (les messages qui répondent directement à un article), une seconde boucle affiche les réponses à ces messages, et une boucle récursive provoque la récursivité sur cette seconde boucle :

Plus généralement, cette fonctionnalité provoque un affichage graphiquement très clair de structures arborescentes, en particulier la hiérarchie des rubriques de votre site.

Remarque 1 : Le nouveau compilateur introduit par SPIP 1.8 considère que la notation <BOUCLEn(BOUCLEx)> à l’extérieur de la boucle x est vide de sens, ce qui lui permet d’atteindre l’optimalité du nombre de champs des requêtes SQL qu’il produit, pour tout type de boucles.
Cet emploi n’est pas une récursion mais une inclusion, fonctionnalité à laquelle répond la balise INCLURE, nettement préférable.

Remarque 2 : Dans l’état actuel (SPIP 1.9) du compilateur de SPIP, la séquence <BOUCLEn(BOUCLEx)></BOUCLEn> doit figurer au premier niveau de la boucle x, autrement dit la boucle n doit être immédiatement englobée par la boucle x, non par une autre boucle elle-même à l’intérieur de la boucle x.
La levée de cette restriction est à l’étude.

Remarque 3 : Depuis SPIP 1.8, on peut appeler une balise homonyme de l’une des boucles englobantes en explicitant le nom de la boucle à laquelle la balise appartient. Il faut alors spécifier le nom de la boucle entre le # et le nom de la balise. Plus de détail dans l’article La syntaxe des balises SPIP.

On écrira alors la balise #BALISE de la boucle _boucle [1] de la façon suivante :
#_boucle:BALISE.


Voir le squelette de cette page Site réalisé avec SPIP | Espace de traduction | Espace privé