2011-02-08 2 views
1

내 질문은 루핑이 사실이라면 루핑을 유지할 것이지만 그렇지 않다면 다시 작성하기 위해 다른 코드를 통과 할 것입니다. 나는 그것을 할 수 있냐!?루프에 관한 질문

+3

을! –

답변

1

코드 블록을 효과적으로 무한 루프입니다 : 당신은 thingA의 상태가 변경이, 당신은 단순히 필요로 할 때 어떤 조치를 취할 필요합니다. 이유는 thingA이 으로 바뀌고 루프 밖으로 나올 때까지 while 루프를 통해 true을 유지하기 때문입니다. 그런 다음 if 문을 검사하여 false인지 확인합니다. 그렇지 않으면 while 루프가 손상되지 않습니다. 그런 다음 루프를 반복합니다.

무한 루프 내에서 thingA이 거짓인지 확인하고 특별한 경우 논리를 실행하십시오.

5

제 질문은 무엇인가가 거짓이 될 때까지 반복하고 싶다면 false가되고 true로 설정하고 다시 루프를 돌리는 이유는 무엇입니까?

while (true) 
{ 
    if (thingA is not true) 
    { 
     // do whatever you want 
    } 
} 

내 요점은되고, 당신이 원하는 모든 사실 다시 루프, 왜 모든 반복을 중지 할 경우 : 왜 그냥?

2

당신이 설명하는 것은 thingA의 값에 관계없이 영원히 반복 될 것입니다 (항상 루프로 끝납니다). 귀하가 제공 한

while (1) 
{ 
    if (!thingA) { /* Some action */ } 
    ... 
} 
0

동일한 기능으로 코드를 재배치하는 대신 일반 코드를 별도의 기능으로 옮겨보십시오. 이렇게하면 코드를 더 쉽게 이해할 수 있고 흐름을 따라갈 수 있습니다. 귀하의 경우에는

당신은 아마도 이런 걸 원하는 : 당신이 무한 루프를 가지고 위의 기록으로

void MyLoopFunction() 
{ 
bool MyCheckVariable = true; 
while (MyCheckVariable) 
    { 
    ... 
    } 
} 

void SomeOtherFunction() 
{ 
// Keep executing until infinity 
while (true) 
    { 
    MyLoopFunction(); 
    // Fell out of the loop, do something else and retry 
    ... 
    } 
}