나는 이것이 간단한 질문이라고 생각하지만 평생 동안 이것을 작동시킬 수는 없습니다.
맥락은 구조에 대한 몇 가지 수준의 대부분(한 행을 제외하고) 중복 항목의 n-튜플을 처리해야 하는 XML 추출기가 있다는 것입니다. 저는 "중복" 항목을 찾고 더 큰 테이블로 가져오기 전에 실제로 중복 항목인지 확인하려고 합니다. 반복 횟수를 확인하고 있지만 중첩된 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);코드는 관계없이 작동하지 않지만 연결된 이름이 있는 열을 n-튜플 열 중 첫 번째 열과 비교하는 명령문을 얻을 수 있을 때까지는 중요하지 않으며 먼저 연결이 작동하도록 해야 합니다. jsl이 충돌하지 않습니다.
누구든지 생각이 있나요? 내가 구문을 멍청하게 말하는 걸까요?