脚本仅循环运行一次你好
下面的脚本循环浏览两个列表中的文件,以检查它们中的哪个匹配。如果它们这样做,则使用“ tagger”功能来操纵文件。我为一个GUI创建了此代码,以在其中测试其功能,我选择了四个文件(两个用于lf,两个用于lg)。探查是,当条件评估为true时,“ tagger”脚本仅针对匹配的两个文件中的第一个运行,而不是针对所有四个匹配的文件运行。想知道我是否想念什么吗?
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"));
);
);
);
回复:脚本仅在循环中运行一次添加以下测试数据后,您的代码对我有用(尝试了JMP 13和JMP 14):
tagger = function({a, b}, print("tagging", a, b));
lf = {"abc1234", "xyz"};
lg = {"abc12345678", "xyz12345678"};
selectedDirlf = "/LF/";
selectedDirlg = "/LG/";
commenceTaggingScript2;
也就是说,我看到tagger在4个比较中调用了2次:
“切片的Lf:abc”
“切片lg:abc”
“标记”
“ / LF / abc1234”
“ / LG / abc12345678”
“不匹配”
“不匹配”
“切片的Lf:xyz”
“切片lg:xyz”
“标记”
“ / LF / xyz”
“ / LG / xyz12345678”