我覺得這是一個簡單的問題,但我一輩子都無法解決這個問題。
上下文是我有一個 XML 提取器,令人沮喪的是,它必須處理結構中幾個級別的大多數(除了一行)冗餘條目的 n 元組。 我試圖找到那些“重複”條目,並在將它們導入到更大的表中之前檢查它們是否確實重複。 我已經檢查了重複次數,但我在讓嵌套的 for/if 循環工作時遇到了可怕的時間。 事實上,如果我將 Eval( Eval Expr(....Expr())) 嵌套在錯誤的位置,則循環始終會導致整個軟體崩潰。 我不確定為什麼會這樣,我想知道我是否只是誤解瞭如何使用該結構。
我想這也可能是使用 char() 和 concatenate90 相互嵌套的問題,儘管我再次不確定為什麼會這樣。 我下面的當前程式碼會使軟體崩潰。
colnames = dt << Get Column Names( String );
show(colnames);
reps = 0;
show(reps);
For( i = 1, i <= N Items( colnames), i++,
reps = Sum( reps, Contains(colnames[i], "Data - Common Counting Time")); show(reps)
);
check = 0;
//Repeats that split columns
colnamecount = "Scan Append Number_4"; //Using a file that only has three of these columns, so show(colnamecount) = *_4 means its not going past that first if statment
If( reps> 1,
For( i = 2, i = reps, i++,
Eval(Eval Expr(colnamecount = Concat("Scan Append Number_", Char(Expr(i))))); //This is the issue
If(dt:{"Scan Append Number_1"}[1] == Column( colnamecount )[1],
check = check + 1,
check = check + 12
)
)
);
show(check);不管怎樣,程式碼都不起作用,但直到我能得到 If 語句,將具有串聯名稱的列與 n 元組中的第一個列進行比較,這並不重要,首先我需要讓串聯工作並不崩潰jsl。
有人有什麼想法嗎? 我只是在文法方面很愚蠢嗎?