[SPIP Zone] Plugin boucles sans table...

Bonsoir,

J'ai voulu tester le plugin Boucles sans table sous la svn.

Dans l'ensemble, ça fonctionne bien...
Il y a quelques tests qui ne fonctionnent pas (j'ai pas trop poussé les recherches !) :

- For {par -2} les nombres négatifs ne sont pas pris en compte
- Tableau {fonction=toto()} ne marche pas. Dans le debug, on se retrouve avec (si <BOUCLE_t(TABLEAU) ) : $__t = 'toto()'; au lieu de $__t = toto();

Voilà ce que j'ai vu pour le moment.
Sinon, il y a vraiment pas mal de choses possibles avec ce plugin encore :wink:

SPIP, dévoreur de temps libre :wink:

MM.

On Fri, 2007-07-06 at 01:08 +0200, Matthieu Marcillaud wrote:

Bonsoir,

J'ai voulu tester le plugin Boucles sans table sous la svn.

Dans l'ensemble, ça fonctionne bien...
Il y a quelques tests qui ne fonctionnent pas (j'ai pas trop poussé les
recherches !) :

- For {par -2} les nombres négatifs ne sont pas pris en compte

il me semble (pas pris le temps de vérifier) que si 'debut' et plus
grand que 'fin', le signe de 'par' est inversé d'office

- Tableau {fonction=toto()} ne marche pas. Dans le debug, on se retrouve
avec (si <BOUCLE_t(TABLEAU) ) : $__t = 'toto()'; au lieu de $__t = toto();

là, faut que je replonge dans le code pour voir, mais pas tout de suite, sorry.

--
À+, Pif.

pif a écrit :

- For {par -2} les nombres négatifs ne sont pas pris en compte

il me semble (pas pris le temps de vérifier) que si 'debut' et plus
grand que 'fin', le signe de 'par' est inversé d'office

Ca ne marche pas non plus...
J'ai modifié le fichier test pour pouvoir passer debut, fin en plus de par.

- Tableau {fonction=toto()} ne marche pas. Dans le debug, on se retrouve avec (si <BOUCLE_t(TABLEAU) ) : $__t = 'toto()'; au lieu de $__t = toto();

là, faut que je replonge dans le code pour voir, mais pas tout de suite, sorry.

Oh, y a pas de mal, je signalais simplement...

MM.

On Fri, 2007-07-06 at 01:08 +0200, Matthieu Marcillaud wrote:

Bonsoir,

J'ai voulu tester le plugin Boucles sans table sous la svn.

Dans l'ensemble, ça fonctionne bien...
Il y a quelques tests qui ne fonctionnent pas (j'ai pas trop poussé les
recherches !) :

- For {par -2} les nombres négatifs ne sont pas pris en compte

après relecture du code, il faut écrire {!par 2} ou {par 2}{inverse}
(a valider). j'avoue quye c'est un peu pourri comme écriture pour un
for, mais c'est plus cohérent avec les boules standards

- Tableau {fonction=toto()} ne marche pas. Dans le debug, on se retrouve
avec (si <BOUCLE_t(TABLEAU) ) : $__t = 'toto()'; au lieu de $__t = toto();

C'est corrigé dans r13346, merci pour l'info.
Par contre, le #AFFECTER à l'air de complètement déconner.
En même temps, depuis, #SET et #GET sont apparus et ça fait un peu
double emploi, même s'il manque des trucs à #SET (pour affecter des
tableaux plus facilement).

--
À+, Pif.

pif a écrit :

- For {par -2} les nombres négatifs ne sont pas pris en compte

après relecture du code, il faut écrire {!par 2} ou {par 2}{inverse}
(a valider). j'avoue quye c'est un peu pourri comme écriture pour un
for, mais c'est plus cohérent avec les boules standards

il faudrait juste mettre à jour Boucler sur un tableau, un compteur, les langues, une condition ... - SPIP-Contrib

- Tableau {fonction=toto()} ne marche pas. Dans le debug, on se retrouve avec (si <BOUCLE_t(TABLEAU) ) : $__t = 'toto()'; au lieu de $__t = toto();

C'est corrigé dans r13346, merci pour l'info.

OK, chouette.

Par contre, le #AFFECTER à l'air de complètement déconner.
En même temps, depuis, #SET et #GET sont apparus et ça fait un peu
double emploi, même s'il manque des trucs à #SET (pour affecter des
tableaux plus facilement).

Oui, actuellement, on fait
#SET{tableau,#ARRAY{0,0}}
<BOUCLE>[(#GET{tableau}|array_push{#B1LISE})]</BOUCLE>
utilisation :
<BOUCLE(){xx IN #GET**{tableau}}></BOUCLE>

Je pense qu'il serait plus simple de faire
<BOUCLE>#SET{tableau,#BALISE}</BOUCLE>
utilisation :
<BOUCLE(){xx IN #GET{tableau}}>

Je sais pas si c'est possible par contre :wink:

MM.

On Sat, 2007-07-07 at 00:56 +0200, Matthieu Marcillaud wrote:

il faudrait juste mettre à jour
Boucler sur un tableau, un compteur, les langues, une condition ... - SPIP-Contrib

Ben quoi, c'est exactement ce qu'elle dit la doc !
nan, j'décone, j'viens de mettre à jour :wink:

Je pense qu'il serait plus simple de faire
<BOUCLE>#SET{tableau,#BALISE}</BOUCLE>
utilisation :
<BOUCLE(){xx IN #GET{tableau}}>

Sympa l'idée des , mais ça risque de porter à confusion avec les
autour des balises, même si les imbrications font qu'il n'y aura pas de problème
de parsing, les utilisateurs risquent de ne plus rien y comprendre

Je sais pas si c'est possible par contre :wink:

C'est pas forcement évident en effet, car rien n'empèche d'écrire
#GET{#TOTO} et là, à la compilation, on ne saura pas s'il y a des ou
pas dans 'toto'

J'ai écrit récempment un #APPEND{tableau, ...} qui fait ce que tu
écris #SET{tableau,#BALISE}, mais pour le GET, j'ai pas de solution
élégante.
Par contre, y a t'il des cas légitimes d'utilisation de #GET{tableau} où
on veuille la version serialisée ? pour le passer dans une url ou un
post ?

--
À+, Pif.