Le script ne fonctionne qu'une fois dans une boucleSalut,
Le script ci-dessous parcourt les fichiers de deux listes pour vérifier lesquelles correspondent. S'ils le font, la fonction 'tagger' est utilisée pour manipuler les fichiers. J'ai créé ce code pour une interface graphique dans laquelle tester sa fonctionnalité, j'ai choisi quatre fichiers (deux pour lf et deux pour lg). Le problème est que lorsque la condition est évaluée à true, le script 'tagger' ne s'exécute que pour le premier des deux fichiers correspondants, au lieu des quatre fichiers correspondants. Je me demandais s'il me manquait quelque chose?
commenceTaggingScript2 = Expr(
For(p = 1, p <= n items(lf), p++,
For(q = 1, q <= nitems(lg), q++,
if (Left(lf[p], Length(lf[p]) - 4) == Left(lg[q], Length(lg[q]) - 8), print("Sliced Lf: " || Left(lf[p], Length(lf[p]) - 4)); print("Sliced lg: " || Left(lg[q], Length(lg[q]) - 8)); tagger(selectedDirlf || lf[p], selectedDirlg || lg[q]) , print("Not matching"));
);
);
);
Re: Script Only s'exécute une fois dans une boucleVotre code a fonctionné pour moi (essayé JMP 13 et JMP 14) après avoir ajouté les données de test suivantes:
tagger = function({a, b}, print("tagging", a, b));
lf = {"abc1234", "xyz"};
lg = {"abc12345678", "xyz12345678"};
selectedDirlf = "/LF/";
selectedDirlg = "/LG/";
commenceTaggingScript2;
C'est-à-dire que j'ai vu le tagueur appelé 2 fois sur les 4 comparaisons:
"Tranches Lf: abc"
"Tranché lg: abc"
"marquage"
"/ LF / abc1234"
"/ LG / abc12345678"
"Ne correspond pas"
"Ne correspond pas"
"Tranches Lf: xyz"
"Tranches de lg: xyz"
"marquage"
"/ LF / xyz"
"/ LG / xyz12345678"