누구든지 Delphi에서이 주제를 도와 줄 수 있습니까?델파이에서 중첩 된 루프를 건너 뛰는 방법은 무엇입니까?
나는 5 개의 중첩 된 "for"블록 루프를 변수 k1, k2 .. k5로 반복합니다.
다른 변수 k는 5 개 이상의 루프 깊이를 제어해야합니다. 이 변수는 런타임 중에 정의됩니다.
k 개의 'for'블록이 주석 처리 된 것처럼 실행을 제거 할 수 있습니까? 코드를 설명하는 짧은 목록은 여기에 있습니다 :
k는 2 동등하게, 나는의 전체 흐름을 단축, 루프의 K4 및 K5 (중괄호로 끝나는 코드 라인)의 실행을 방지하고자, 설명 또한k := 2;
for k1 := 1 to 100 do begin
for k2 := 1 to 100 do begin
for k3 := 1 to 100 do begin
for k4 := 1 to 100 do begin {want to skip this loop}
for k5 := 1 to 100 do begin {want to skip this loop}
AnywayDoThat; // must execute anyway
end; {k5}
end; {k4}
end;
end;
end;
프로그램. 물론, proc anywayDoThat 실행해야합니다. '제거'나쁜 표현에 대한 죄송합니다 :
나는 델파이 6편집을 사용합니다. 그 목적은 불필요한 반복을 피하는 것이 었습니다. 한 번 실행하면 루프를 건너 뛰는 트릭이 완벽합니다. 따라서 proc AnywayDoThat는 k1, k2, k3에 따라 도달합니다.
과제를 올바르게 이해 했습니까? –
(악의 goto 문은이 질문을보고 있습니다) –
'if k> 0이면 k1 : = 1 ~ 100은 k> 1이면 시작하고 k2의 경우 : = etc ... ' –