腳本只在循環中運行一次嗨,
下面的腳本循環遍歷兩個列表中的文件以檢查它們中的哪一個匹配。如果他們這樣做,'tagger'功能用於操縱文件。我為GUI創建了這個代碼來測試它的功能我選擇了四個文件(兩個用於lf,兩個用於lg)。探測器是當條件被評估為真時,'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”